- final关键字
使用final做关键字的话,含有“最终的”含义。
final可以修饰类、方法、属性和变量
修饰类,则该类不允许被继承。
修饰方法,则该方法不允许被覆盖(重写)
修饰属性
则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)
或在构造方法中赋值(但只能选其一)
修饰变量,则该变量的值只能赋一次值,即变为常量 -
static关键字
类的所有对象共享
static可以修饰变量、方法和代码块
修饰变量,静态成员可以使用类名直接访问,也可以使用对象名进行访问
修饰方法,称为静态方法或类方法-
静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。
- 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。
- 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
- 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量。
修饰代码块,称为静态初始化块
静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。注意:静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收
-
- abstract关键字
用于定义抽象类和抽象方法(只需声明,不需实现)
包含抽象方法的类是抽象类;抽象类中可以包含普通的方法,也可以没有抽象方法;抽象类不可以直接创建,可以定义引用变量。
抽象方法没有方法体,以分号结束。 - interface关键字
接口是用来被继承、实现的,一般建议使用public修饰(不能使用private、protected)
接口中的属性是常量,即使定义中不添加public static final修饰符,系统会自动添加上。
接口中的方法,系统会自动添加public static修饰符。