1.Java中,static不能修饰局部变量。
2.构造代码块:可用于成员变量的赋值,但需要注意的是,构造代码块最先执行(比构造方法先)。
3.静态代码块(可用于静态成员变量赋值):写法如下
static {
静态成员操作;
}
(比构造代码块先执行)
4.不管是静态成员变量还是普通成员变量,初始化赋值同一个变量,按前后顺序进行,最终是最后一个值。
5.不管创建多少个对象,静态代码块只会被执行一次。
6.对象的打印:重写toString。(暂时了解)
7.class A extends B (类A继承B)。
8.当子类和父类存在相同的成员变量时,优先使用子类的,如果非要访问父类的同名变量,使用super.变量名。
9.方法重载可以发生在父类和子类中。
10.方法重写其实就是服从就近原则。
11.this和super都只能在非静态方法中使用。
12. super可以调用父类的构造方法。
13.如果父类有构造方法,子类要先帮助父类初始化。在子类的构造方法中使用super(此处对应父类的构造方法的参数),放在第一行。
14.不能同时使用super和this的调用构造方法作用,因为都要在第一行,所以不能同时存在。
15. super包含的属性和方法一定都在this中。
16.使用new的时候,先执行父类和子类的静态代码块,再进行父类和子类的构造代码块,最后执行父类和子类的构造方法。
再次强调,在多次创建对象时,静态代码块只执行一次。
17. protected的不同包的子类访问形式:
18.如果不想使类被继承,在class前加final。Java不支持多继承,一般继承不超过3层。
19. final修饰变量:
20. final可以修饰方法(后面提到)。
21.组合: