final 可以修饰非抽象类,非抽象类成员方法和变量。
1.被修饰的类不能被继承,没有子类,类中方法默认是final
2.被修饰的方法不能被子类方法覆盖,但可以被继承。
3.被修饰的成员变量表示常量,只能被赋值一次,赋值不可再变。
4.不能用于修饰构造方法。
static
1.类的成员变量分为动态和静态,被static 修饰的为静态变量,没被修饰的为动态(实例)变量。
静态变量在内存中只有一个,可通过 类名.变量名 的方式访问。
实例变量每创建一个实例,会分配一次内存,每个互不影响。
2.静态方法。
被statcic 修饰的方法,可直接通过 类名.方法名 调用。静态方法中不能用 this和super关键字。不能直接访问实例变量方法。
abstract 用来声明抽象方法和抽象类
1.修饰类 此类为抽象类。这个类不能生成对象。需要子类继承并覆盖其中的抽象方法。
2.修饰方法。此方法为抽象方法,没有具体的实现,需要子类继承实现。
interface 接口声明
1.接口中可以有成员变量,且接口中的成员变量必须定义初始化。
2.接口中的成员方法只能是方法原型,不能有方法主体。
3.接口的成员变量和成员方法只能用public 修饰或缺省。
4.实现接口的类必须全部实现接口中的方法。