final修饰成员变量:
要求这个成员变量 在创建对象之前必须初始化
所以final修饰的成员变量 第一直觉赋值 第二构造方法赋值
但是也只能赋值一次
2.final修饰的类:(太监类) ,不能被子类继承...(String)
final修饰的方法:(子类不能重写)
静态代码块:通常写到成员位置
* static {代码}
静态成员变量优先于静态代码块执行,优先于构造方法执行,优先于main方法执行...3.走Zi类的构造方法,因为java中分层初始化,先初始化父类,在初始化子类,所有先走父类构造,但是在执行
父类构造时,发现父类有构造代码块,构造代码块就优先于构造方法执行,所以abstract不能和...)
2.private修饰 只能在本包中的本类中可以使用
protected(受保护的) default(默认的)
共同点:这两个修饰的成员只能在本包中使用
不同点:protected修饰的成员的,不同包的子类中也可以使用...抽象类要让子类继承并重写抽象方法,使用private修饰便不能被继承和重写,使用final修饰也不能被重写,
使用static修饰,可以类名直接调用方法,但抽象方法没有主体调用无意义,所以abstract