[if !supportLists]一.[endif]final关键字
final关键字可以修饰类,成员方法和变量
修饰类时表明该类是一个最终类,不能被继承(太监类)
修饰方法时,该方法可以被继承但不能被重写
修饰局部变量表明该变量是一个常量,不能重新赋值(基本数据类型值不变,引用数据类型地址不变,final也是局部变量可以有的唯一修饰符)
修饰成员变量时表明该变量是常量,不能重新赋值。并且对于该变量的赋值应早于对象的建立(直接赋值或者在构造方法中赋值,命名规则应该用大写字母以下划线连接)
[if !supportLists]二.[endif]static关键字
static修饰的成员变量和成员方法是静态成员,随着类的加载到方法区的静态区中,被所有的该类对象所共享,静态成员是属于类的,可以直接用类名调用。
[if !supportLists]三.[endif]接口
是引用数据的一种,方法的集合(不能定义变量,可以定义常量)
定义格式
public interface接口名{
抽象方法;
默认方法;
静态方法;
}
实现类类似继承,关键字是implements,类可以实现多个接口,类在继承类的时候也可以实现多个类,格式如下:
public class类名 extends父类名 implements 接口1,接口2{}
类(普通类,抽象类可以部分重写)在实现接口时,必须重写所有的抽象方法,默认方法可重写可不重写,静态方法无法重写。
如果实现的接口中抽象方法有重复的,只需要重写一个;默认方法有重复的必须重写;静态方法就算重复也是属于各个接口的。
如果父类中的普通方法与接口中的默认方法有重复,子类优先使用父类的方法。
接口可以继承多接口,必须重写重复的默认方法
public interface子接口 extends 父接口1,父接口2{}
抽象类是对对象的高度抽象,接口则是对功能的高度抽象