一、final 关键字
1.修饰一个类表示这个类不能被继承,final类中的方法也会被隐式(方法前没有final关键字效果却是有final的)指定final方法。
2.修饰方法时,方法不能被重写。
3.修饰成员变量时只能初始化一次,必须初始化,初始化方法分为俩种,一是直接赋值,二是构造方法中赋值。如果成员变量是基本类型,值不可变。如果成员变量是引用类型,地址不可变,对象内容可以改变。
二、static 关键字
1.static修饰的成员变量和方法,从属于类。
2.普通变量和方法从属于对象。
3.静态变量不能调用非静态成员。静态变量的用途是方便在没有创建对象的情况下进行调用。
a.static方法,静态方法,不依赖于任何对象可以直接访问,因此对于静态方法是没有this的。
b.static变量,静态变量,静态变量被所有对象共享,在内存中只有一个副本,在类初始化加载的时候才会初始化。非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。
c.static成员变量初始化顺序按照定义的顺序来进行初始化。
d.static块,静态初始化块,用于类的初始化操作。
三、重载与重写
重载:发生在同一个类中,方法名相同,参数类型个数返回值访问修饰符可以不同。
重写:发生在父子类中,方法名参数列表必须相同,返回值范围小于等于父类,抛出异常范围小于等于父类,访问修饰符范围大于等于父类,父类private不能重写。