java中的抽象类abstract

/**
 * 学习抽象类和抽象方法
 * 抽象方法:只进行方法的声明,而不提供具体的实现(没有方法体)
 * 抽象类:只要在一个类中有一个抽象方法,那么这个就得声明一个抽象类
 * 抽象类和抽象方法的定义:
 *          abstract  class  类名{}
 *          public  abstract  返回值/void  方法名();
 * 抽象类中可以没有抽象方法
 * 抽象类不能直接进行实例化  不能直接new   编译报错
 * 抽象类主要是让别人继承的
 */
public class Study_Abstract {
}
// 抽象类
abstract class Animal{
    public abstract void eat(); // 抽象方法
    public abstract void call();
    public void sleep(){
        System.out.println("动物要睡觉了");
    }
}
class Dog extends Animal{
//    @Override
//    public void call() {
//        System.out.println("Dog.call");
//    }


    @Override
    public void call() {
        System.out.println("Dog.call");
    }

    @Override
    public void eat() {
        System.out.println("Dog.eat");
    }
}
class Cat extends Animal{
    @Override
    public void call() {
        System.out.println("Cat.call");
    }

    @Override
    public void eat() {
        System.out.println("Cat.eat");
    }
}

抽象类被继承后,要么必须重写抽象方法,要么子类也声明抽象类。

posted @ 2022-11-01 21:35  竹石2020  阅读(24)  评论(0编辑  收藏  举报