汽车图纸类:
1、java的类有两部分组成:a、静态的属性 b、动态的方法
2、访问权限 public private protected
3、构造方法:作用是实例化 、new的时候调用
4、普通方法(有参、无惨、访问权限、返回值类型)
package car;
public class PikaCarTuzhi {
/**
* 静态的属性
* public 、 private 、protected 访问权限
* 访问权限不写,默认是protected
*/
public String color;
private String size;
protected String shape;
String glcount;
/**
* 方法:
* 构造方法:无参构造方法
* 作用:实例化这个类的时候用、new的时候会调用构造方法
*/
public PikaCarTuzhi() {
}
/**
* 有参构造方法
* @param color
*/
public PikaCarTuzhi(String color) {
System.out.println(this.color);
}
/**
* 普通方法:
*/
public void run() {
}
private void music(String category) {
}
void kongtiao(String kaiguan) {
}
}
有图纸以后,送到工厂(Factory)中生产
package car;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class PikaCarFactory {
/**
* 静态代码块
* 优先执行
*/
{
String name = "abc";
}
public static void main(String[] args) {//main是程序的入口
PikaCarTuzhi car1 = new PikaCarTuzhi();//工人根据图纸生产汽车
PikaCarTuzhi car2 = new PikaCarTuzhi();//工人根据图纸生产汽车
PikaCarTuzhi car3 = new PikaCarTuzhi();//工人根据图纸生产汽车
PikaCarTuzhi car4 = new PikaCarTuzhi();//工人根据图纸生产汽车
car1.color = "红色";
car2.color = "白色";
/**
* 匿名对象
*/
new PikaCarTuzhi();
//子类:继承
Zilei zilei = new Zilei();
Date date = new Date();
System.out.println(date);
DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd hh:mm:ss");
String format = dateFormat.format(date);
System.out.println(format);
}
}
其中、Zilei是为了学习继承:
package car;
/**
* Zilei继承了PikaCarTuzhi
* 不能继承父类的私有成员
*/
public class Zilei extends PikaCarTuzhi{
private final int age = 20;
void test() {
// age = 30;
}
}
Date:Java中的时间类:
//new 出Data类的一个对象date
Date date = new Date();
//按照默认格式打印出当前时间
System.out.println(date);
//自定义输出的时间格式、注意:MM:月 mm: 分钟
DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd hh:mm:ss");
//将默认格式的时间转化成自定义时间格式
String format = dateFormat.format(date);
System.out.println(format);
static
集体中的牛
/**
* 静态代码块
* 优先执行、作用实例化
*/
{
String name = "abc";
}
/**
* 静态static修饰的东西都是公共的
* 静态属性
*/
private static String name = "lucas";
//main方法是static修饰的静态方法
//在静态方法中只能访问静态属性
public static void main(String[] args) {//main是程序的入口
this关键字
public String color;
/**
* 有参构造方法
* @param color
* this:指的是当前类、this.color就是颜色相同的那个
*/
public PikaCarTuzhi(String color) {
//当前方法中有color,如果不写this.color ,只写color就是当前方法中的color
System.out.println(this.color);
}
/**
* 普通方法:
*/
public void run() {
//当前方法中没有color,不写this.color,只写color也是代表this.color
color = "hongse";
}
final关键字:
public final class PikaCarTuzhi {
/**
* 静态的属性
* public 、 private 、protected 访问权限
* 访问权限不写,默认是protected
*/
public String color;
private String size;
protected String shape;
String glcount;
。。。
//Zilei继承了PikaCarTuzhi
public class Zilei extends PikaCarTuzhi{ //报错
}
public class Zilei extends PikaCarTuzhi{
private final int age = 20;
void test() {
age = 30; //报错
}
}
不能继承final修饰的父类
不能修改final修饰的变量
封装:
package study01;
/**
* 封装的概念
* 好处:保存数据、(从数据库中查出了多条数据------用一个集合保存多个实体类)
* @author S
*
*/
public class Teacher {
private String name;
private String gender;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Teacher [name=" + name + ", gender=" + gender + ", age=" + age + "]";
}
}
多态:
声明的时候看左边
运行的时候看右边
共同的抽象父类Dayinji
package study01;
public abstract class Dayinji {
public abstract void print();
}
实现类一(HeiBaiDayinji)
package study01;
public class HeiBaiDayinji extends Dayinji{
@Override
public void print() {
System.out.println("打印黑白");
}
}
实现类二(CaiseDayinji)
package study01;
public class CaiseDayinji extends Dayinji {
@Override
public void print() {
System.out.println("打印彩色");
}
}
运行时候能看出多态
等号左边的都一样,等号右边的不同,运行的结果看右边
Dayinji dayinji = new HeiBaiDayinji();
dayinji.print();
dayinji = new CaiseDayinji();
dayinji.print();