java:面向对象(抽象类的概述及其特点)

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/qq_24644517/article/details/82804766
/*
* 抽象类的特点:
* a:抽象类和抽象方法必须用abstract关键字修饰
*    abstract class 类名{}
*    public abstract void 方法名();
* b:抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口
* c:抽象类不能被实例化的,那么抽象类如何实例化呢?
*    按照多态的方式,由具体的子类实例化,其实这也是多态的一种,抽象类多态
* d:抽象类的子类
*    要么是抽象类
*    要么重写抽象类中的所有抽象方法
* */
public class Demo1_Abstarct {
    public static void main(String[]args){
        Ainmalone a=new Cat();//父类引用指向子类对象
        a.eat();//多态成员方法,编译看左边,运行看右边

    }
}

abstract class Ainmalone{//抽象类
    public abstract void eat();//抽象方法

}


class Cat extends Ainmalone{
    public void eat(){//重写抽象类中所有的抽象方法
        System.out.println("猫吃鱼");
    }
}

abstract class Cat1 extends Ainmalone{//1.Cat1类是抽象类 
     // 2.如果不加abstract,会提示Cat1不是抽象的, 并且未覆盖Ainmalone中的抽象方法eat()
    }


猜你喜欢

转载自blog.csdn.net/qq_24644517/article/details/82804766