抽象方法与抽象类

时间:2019-09-03
本文章向大家介绍抽象方法与抽象类,主要包括抽象方法与抽象类使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
package cn.learn.chouxiang;
/*
抽象方法:就是在成员方法前加上abstract关键字,去掉大括号,分号结束
          实际意义一般在父类表示某种东西的行为,但行为的发生情况不一样

抽象类:含有抽象方法的类必须是抽象类,抽象类中不必包含抽象方法

如何使用抽象类和抽象方法:
1.不能直接 new 抽象类,必须用子类继承抽象类
2.子类必须重写抽象类所有的抽象方法,不用再加abstract
3.子类来创建对象

注意:子类构造方法中会有默认super调用父类构造方法

没有抽象方法的抽象类,也不能直接new,设计模式中会使用得到

若最高抽象父类含该事物的所有抽象方法
但第一个继承的子类无法唯一区分父类的重写,可以仍为抽象类,重写父类的某一抽象方法,其余的抽象继续由下面的子类继续重写,以此类推


 */

public abstract class Animals {

    public  Animals(){
        System.out.println("父类构造方法执行");
    }

    //抽象方法
    public abstract void eat();

}
package cn.learn.chouxiang;

public class Cat extends Animals {
    public  Cat(){
        //默认有个super调用父类的构造方法
        System.out.println("子类构造方法执行");
    }

    @Override
    public void eat() {
        System.out.println("我是继承了抽象类的cat,我必须重写所有抽象方法");
    }
}
package cn.learn.chouxiang;

public class BeginEat {
    public static void main(String[] args) {
        Cat cat=new Cat();
        cat.eat();
        //父类构造方法执行
        //子类构造方法执行
        //我是继承了抽象类的cat,我必须重写所有抽象方法
    }

}

原文地址:https://www.cnblogs.com/huxiaobai/p/11456379.html