抽象方法
一个没有方法体的方法应该定义为抽象方法
抽象类和抽象方法必须使用 abstract 关键字修饰
//抽象类的定义
public abstract class 类名 {}
//抽象方法的定义
public abstract void eat();
抽象类
-
抽象类不能实例化
抽象类如何实例化呢?参照多态的方式,通过子类对象实例化,这叫抽象类多态
-
抽象类的子类
要么重写抽象类中的所有抽象方法
要么是抽象类
-
抽象类的成员特点
-
成员变量
-
既可以是变量
-
也可以是常量
-
-
构造方法
-
空参构造
-
有参构造
-
-
成员方法
-
抽象方法
-
普通方法
-
接口 -- 默认抽象
接口是抽象的,因为它们只定义了行为和功能,而没有具体的实现。
抽象类和接口的区别
-
成员区别
-
抽象类
变量,常量;有构造方法;有抽象方法,也有非抽象方法
-
接口
常量;抽象方法
-
-
关系区别
-
类与类
继承,单继承
-
类与接口
实现,可以单实现,也可以多实现
-
接口与接口
继承,单继承,多继承
-
-
设计理念区别
-
抽象类
对类抽象,包括属性、行为
-
接口
对行为抽象,主要是行为
-