1,final关键字
final表示最终的
可以修饰变量,变成了常量
可以修饰方法,变成了最终的方法,不能够被重写,可以被正常调用
可以修饰类,变成了最终的类,不能被继承
2,抽象方法
只有方法的定义没有方法体语句被abstract修饰的方法,称为抽象方法
格式: 权限修饰符 abstract 返回值类型 方法名();
抽象方法只能在抽象类中,抽象类中可以没有抽象方法
3,抽象类
被abstract修饰的类叫抽象类
格式: 修饰符 abstract class 类名{}
特点: 抽象类不能创建对象,可以被子类继承调用抽象类中的资源
作用: 提取事物的共性,指定标准,不去实现,体现的代码的复用性
4,抽象能否创建对象,有无构造
抽象类不能创建对象,但是有构造方法,有无构造方法与能不能创建对象没有关系,与是否有成员变量有关
5,接口
1,接口不能被实例化,既不能创建对象
2、接口与类之间的关系是,类实现接口
3、接口中的所有属性 默认的修饰符是 public static final,所以定义时必须赋值。
4、 接口中的所有方法 默认的修饰符是 public abstract
JDK8开始,接口中可以包含默认方法和静态方法
默认方法:使用 default 修饰,不可省略,供子类调用或者子类重写。
静态方法:使用 static 修饰,供接口直接调用。
JDK9开始,接口中可以包含私有方法
私有方法:使用 private 修饰,供接口中的默认方法或者静态方法调用。
5、接口中没有构造方法,因为没有成员变量
6,接口与类之间的关系
类与接口之间是实现关系,通过implements进行实现,会将接口中的所有抽象方法进行实现,如果没有实现全部,这个类将是一个抽象类
类与接口的实现,可以多实现
类可以继承一个父类再实现多个接口,如果接口中与类中有相同的方法,会优先使用父类的同名方法
7,接口与接口直接的关系
接口与接口直接的关系是继承关系
接口与接口可以多层继承
接口与接口可以多继承