final——
final用于类表示该类不能派生子类。
final用于方法表示该方法不能被子类重写。
final用于变量时表示常量
final用于成员变量表示该成员变量为常量,不能被修改,必须在变量定义时赋值。
final用于局部变量表示该局部变量为常量,不能被修改,可以在变量定义时赋值,也可以先定义变量后赋值
。
static——
static用于成员变量表示该变量只有一份,也就是说静态成员变量属于类而不属于某个具体的类实例对象,所
有的类实例对象共享这个静态成员变量,访问静态成员变量时通过对应的类名完成。静态成员变量在定义时可
初始化赋值,也可不赋值,不赋值时会被自动初始化,切记局部变量不可以是静态的。
static用于方法,使得不需要实例化类就可以通过类名来调用静态方法,需要注意的是在静态方法内不可以使
用this关键字,不可以调用非静态方法,也不可以引用非静态成员变量。
static用于类,这里指的是内部类,那么在别的地方就可以通过外部类名来引用这个静态的内部类。
static还可以用于类的代码块,叫做静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置
可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM
将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。 |
|