一、static
Java内存分配:堆区、栈区、数据区和代码区。
static成员变量属于类本身,具有可以通过类名访问的潜在性质,是否可以通过类名访问,还必须满足非private。
静态方法可以访问非静态成员,非静态方法可以访问静态成员。子类不能重写父类的静态方法,在子类中可以声明与父类静态方法相同的方法将父类的静态方法隐藏。
二、final
在类中使用final,则这个类不能再派生子类。
在成员方法中使用final,则这个方法不能被重写。
在成员变量中使用final,则变量被赋值后就不能改变。
三、抽象类
只有声明没有方法体的方法称为抽象方法,包含一个或者多个抽象方法的类称为抽象类。
abstract class ClassName{
abstract void functionname(parameterlist);
}
四、接口
在接口中定义的常量默认具有public、final和static的属性。接口中声明的方法默认具有public和abstract的属性。