Java中的抽象类abstract

abstract定义抽象类

abstract定义抽象方法,只需要声明,不需要实现

包含抽象方法的类是抽象类

抽象类中可以包含抽象方法,也可以包含普通方法

抽象类不能直接创建,可以定义父类引用变量指向子类的对象

子类继承抽象类,必须实现父类中的抽象方法

抽象类不能被实例化

抽象类的应用场景:

  1.父类只知道子类应该包含的方法,但是不知道子类如何去实现这些方法,约束子类必须有哪些方法,但是并不关心它如何实现。

  2.从多个具有相同特征的类中抽象出一个抽象类,以抽象类作为子类的模板,避免子类设计的随意性

 //父类
    public abstract class Animal {
        public abstract void eat();
    }

//子类
public class Bridge extends Animal{
    
    /**
     * 这个抽象方法必须实现
     */
    public void eat() {
        System.out.println("鸟爱吃虫子");
    }

}

//子类
public class Tiger extends Animal{
    public void eat() {
        // TODO Auto-generated method stub
        System.out.println("老虎爱吃肉");
    }
}

//测试类
public class Test {
    public static void main(String[] args) {
        Animal animal=new Bridge();
        animal.eat();
        Animal animal2=new Tiger();
        animal2.eat();
    }
}
原文地址:https://www.cnblogs.com/mr-hu2009/p/9354175.html