抽象类
一、格式:
abstract class 类名
二、特点:
1、不能直接实例化对象,通过多态的形式实现实例化
Animal a = new Dog();
2、可以有抽象方法,也可以有具体方法
3、 有抽象方法的类必须定义抽象类
4、抽象类中可以有抽象方法,也可以没
三、成员特点:
1、成员变量
可以是变量,也可以是自定义的常量
2、构造方法
不是没有用,用于子类创建对象时访问父类的构造方法
3、成员方法
既可以是抽象方法,也可以是具体方法
a、抽象方法:修饰符 abstract 返回值类型 方法名(参数列表);
抽象方法没有方法体{}
b、具体方法:修饰符 返回值类型 方法名 (参数列表) {方法体}
接口
一、接口特点
接口用关键字interface表示
格式:interface 接口名{}
二、类实现接口用implements表示
格式:class 类名 implements 接口名{}
三、接口不能实例化
按照多态的方式,由具体的子类实例化。其实这也是多态的一种,接口多态。
四、接口的子类
要么是抽象类
要么重写接口中的所有抽象方法