JAVA三大特征封装/继承/多态/static/super/this

----------------------------------------------------关于封装
修改属性的可见性private
创建getter/setter方法
在getter/setter方法中加入属性控制语句

static关键字

public static int ;// 静态属性/类属性
public static void eat(){}; // 静态方法/类方法
不可以添加到类 public static class Cat{} 不存在静态类
不可以存在方法中的静态局部变量 public Cat(){ static int num=14; }

public void run(String name){
{}//存在方法当中 ----普通代码块
}

{} //存在类当中的 —构造代码块

static{} //静态代码块

1静态成员的生命周期:类的加载时产生,销毁时释放,生命周期长
2静态方法中的成员调用:
可以直接访问类中的静态成员
不可以直接访问类中非静态成员,只能通过对象实例化之后通过对象的形式访问
3各种代码块的执行顺序(静态代码块只执行一次,构造代码块在每次对象构造的时候调用)

----------------------------------------------------关于继承
方法重载
1同一个类中
2方法名相同,参数列表不同(参数顺序/个数/类型) 就是可以重载
3方法返回值/访问修饰符任意 对重载没关系

方法重写
1有继承关系的子类中 叫方法重写
2方法名相同,参数列表相同(参数顺序,个数,类型),方法返回值 都要求相同才可以重写
3访问修饰符,访问范围需要大于等于父类的访问范围
4与方法参数的名无关
JAVA三大特征封装/继承/多态/static/super/this
关键字super:父类对象的引用
使用方法:super.eat(); 调用父类的构造方法:super(name,month);
注:子类构造默认调用父类无参构造方法,可以用super()调用父类允许被访问的其他构造方法,
super()必须放在子类构造方法有效代码的第一行
super.print();//访问父类成员方法 super.name;//访问父类属性 super();访问父类构造方法

this当前对象 super父类对象 都不能在静态方法被调用的
this(); //表示调用同类的无参构造方法 super同理
但是两个调用无参构造方法都要抢占第一行 一山容不了二虎

继承后的初始化顺序
父类静态成员->子类的静态成员->父类对象构造->子类对象构造
注:父类的构造方法不允许被继承/不允许被重写

----------------------------------------------------关于多态