抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束
抽象类:抽象方法所在的类,必须是抽象类才行。在class之前写上abstract关键字即可。
如何使用抽象类和抽象方法:
- 1、不能直接new抽象类对象。
- 2、必须用一个子类来继承抽象父类。
- 3、子类必须覆盖重写抽象父类当中的所有抽象方法。
- 覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后补上方法体大括号。
- 4、创建子类对象进行使用。
- 5、一个抽象类不一定含有抽象方法,只要保证抽象方法所在的类是抽象类,即可。这样没有抽象方法的抽象类,也不能直接创建对象,在一些特定场景下有用途。
实例:
public abstract class Animal {
public abstract void eat();
public void normal() {
}
}
public class Cat extends Animal{
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
public class DemoMain {
public static void main(String[] args) {
Cat cat = new Cat();
cat.eat();
}
}
输出结果:
猫吃鱼
public abstract class Fu {
public Fu() {
System.out.println("抽象父类构造方法执行");
}
public abstract void eat();
}
public class Zi extends Fu{
public Zi() {
System.out.println("子类构造方法执行");
}
@Override
public void eat() {
System.out.println("吃饭了");
}
}
public class Demo {
public static void main(String[] args) {
Zi zi = new Zi();
zi.eat();
}
}
输出结果:
抽象父类构造方法执行
子类构造方法执行
吃饭了