抽象类
抽象类概述
- 一个没有方法体的方法被称为抽象类
- 有抽象方法的类必须定义为抽象类
- 抽象类中可以有非抽象方法
- 抽象类和抽象方法必须使用
abstract
关键字来进行修饰
public abstract class Animal{
//抽象类定义格式如下
public abstract void eat();
}
- 继承抽象类的子类必须实现父类中的抽象方法
- 抽象类在测试类中是无法通过
new
形式来创建对象实例化 的,但是可以通过多态的方式来创建
Animal a = new Cat();
- 抽象类的子类要么重写父类中全部抽象方法,要么自己本身就是抽象方法
//1、继承抽象类的子类本身就是抽象类
public abstract class Cat extends Animal{}
//2、继承抽象类的子类重写父类中所有抽象方法
public class Cat extends Animal{
@Override
public void eat(){
sout;
}
}
- 抽象类中也可以拥有构造方法,用于子类访问父类数据的初始化
接口
接口概述
- 使用
interface
关键字,在类中使用implement
来产生关系 - JAVA中接口多为对行为的抽象