1、static 修饰符
被 static 关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。
static 作用于代码块:称作静态代码块(可以初始化 static field,不能初始化非 static field);
static 作用于 methods:
static 方法(类方法)只能访问 static 方法,不能访问非 static 方法
static 方法只能访问 static field, 不能访问非 static field
static方法不能访问本类中的非static变量
非 static 方法可以访问 static fields 和 static methods
static method 的两种访问方式 oject.method 和 class.method, 非 static method 只有 object.method 一种访问方式
static method 中不支持 this 和 super
static 不可以作为局部变量(局部变量包括:函数级局部变量和块级局部变量)
2、final 修饰符
final 类不能被继承(不能有 abstract final class)(final 类内的 method 自动为 final,但不包括属性)
final 方法可以被继承但不能被 override 不能有 abstract final method
final 属性不能被重新赋值(可以被继承,但不可以修改)定义时可以初始化,也可以不初始化,而在语句块中初始化或者构造函数中初始化