final
可以修饰成员方法,成员变量以及类
- 被final修饰的方法成为最终方法,不能被重写,但是可以被原封不动地调用
- 被final修饰的成员变量,在子类中不能再次被赋值,因为final修饰的量为常量,在同一个类中也不能被再次赋值(已验证)
- 被final修饰的类不能被继承(这个类是最终类)
final修饰局部变量
也一样,被final修饰后的变量为常量,不能再次被赋值
注意,如果final修饰的是一个对象(或者说是一个引用类型的变量)那么此时这个变量的地址值不能变,内容值可以变
static关键字
可以修饰成员方法和成员变量
- 这个成员变量被所有成员对象共享
- 一旦一个成员变量被static修饰后,此类中的某个成员对象对其进行的修改对其它所有成员一样有效
- 不推荐直接用成员变量名直接访问被static修饰的成员变量
- 被static修饰的成员变量可以直接通过类名访问,此时可以通过类名对其进行赋值
- 推荐使用类名调用
static 访问特点
- 静态的成员方法只能访问静态成员变量和静态的成员方法
- 所以为什么我们的普通方法都是用static修饰的,因为main方法是静态的,而这些方法中的大部分又在main方法中被调用。
- 非静态的成员方法内静态与非静态都可以被访问