Java笔记(八) 多态、抽象类、final关键字和接口

时间:2022-09-25 18:21:49

多态:是指在执行期间而不是编译期间判断所引用对象的实际类型,根据其实际的类型调用相应的方法

多态的三个必要条件:

1. 要有继承

2. 要有重写

3. 父类引用指向子类对象

抽象类

abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法

含有抽象类方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写

抽象类不能被实例化

抽象方法只需要声明,而不需要实现

若子类中不实现父类的抽象方法,可以将抽象方法的原型再写一遍,或者将子类也声明为抽象类

final关键字

final的变量的值不能够被改变

final的成员变量

final的局部变量(形参)

final的方法不能够被重写

final的类不能够被继承


接口

接口(interface)是抽象方法和常量值的定义的集合

从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现

接口定义如下:

Public interface Runner {

Public static final int id = 1;

Public void start();

Public void run();

}

多个无关的类可以实现同一个接口

一个类可以实现多个无关的接口

与继承关系类似,接口与实现类之间存在多态性

接口中声明的属性默认为public static final的;也只能是public static final

接口中只能定义抽象方法,而且这些方法默认为public的,也只能是public

接口可以继承其他的接口,并添加新的属性和抽象方法

实现接口的关键字为implements

接口可以继承类、但类不能继承接口,类只能实现接口

接口之间可以相互继承