抽象类:
- 格式:abstract class 类名
- 特点:
-
1.不能实例化对象,通过多态的形式实现实例化 -
Animal a = new Dog(); -
2.可以有抽象方法也可以有具体方法 -
3.有抽象方法的类必须定义抽象类 -
4.抽象类中可以有抽象方法也可以没有 - 成员特点:
-
1.成员变量 -
可以使变量,也可以是自定义的常量 -
2.构造方法 -
不是没有用,用于子类创建对象时访问父类构造方法 -
3.成员方法 -
既可以是抽象方法也可以是具体方法 - 抽象方法:修饰符 abstract 返回值类型 方法名 (参数列表) ;
抽象方法没有方法体{}
具体方法:修饰符 返回值类型 方法名(参数列表){方法体}
子类继承抽象类的特点:
必须要重写父类中的抽象方法
接口:
接口的特点:
A:接口用关键字interface修饰
interface 接口名 {}
B:类实现接口用implements修饰
class 类名 implements 接口名 {}
C:接口不能实例化
D:接口的实现类
a:是一个抽象类。
b:是一个具体类,这个类必须重写接口中的所有抽象方法。
(3)接口的成员特点:
A:成员变量
只能是常量
默认修饰符:public static final
B:构造方法:
没有构造方法
C:成员方法:
只能是抽象的
默认修饰符:public abstract
(4)类与类,类与接口
A:类与类
继承关系,只能单继承,可以多层继承
B:类与接口
实现关系,可以单实现,也可以多实现。
还可以在继承一个类的同时,实现多个接口