【java基础】抽象类和抽象方法

抽象方法就是加上abstract关键字,然后去掉大括号,直接分号结束。public abstract void eat();
抽象类抽象方法所在的类,必须是抽象类才行。在class之前写上abstract即可。

如何使用抽象类和抽象方法:
1. 不能直接创建new抽象类对象。
2. 必须用一个子类来继承抽象父类。
3. 子类必须覆盖重写抽象父类当中所有的抽象方法。
覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后补上方法体大括号。
4. 如果子类没有完全覆写父类的抽象方法,那么子类也是一个抽象类
5.创建子类对象进行使用。

public abstract class Animal {
    public abstract  void  eat();
    public abstract  void  sleep();
}
=====================
public abstract  class Dog extends  Animal{ //因为子类没有完全覆写父类的抽象方法,因为子类也是一个抽象类
    @Override
    public void eat() {
        System.out.println("够吃骨头");
    }
}
=============================
public class Goden extends  Dog {
    @Override
    public void sleep() {
        System.out.println("金毛睡姿");
    }

    public void talk(){
        System.out.println("金毛叫");
    }
}
==========================
public class TaiDi extends  Dog{
    @Override
    public void eat() {
        super.eat();
        System.out.println("泰迪吃饭");
    }

    @Override
    public void sleep() {
        System.out.println("泰迪睡姿");
    }
}
============================
public class DemoAbstract {
    public static void main(String[] args) {
        // Animal one =new Animal() //错误写法,抽象类不能实例化对象
          Goden one= new Goden();
          one.sleep();//金毛睡姿
          one.talk(); //金毛叫
          one.eat(); //狗吃骨头

          TaiDi two= new TaiDi();
          two.eat(); //狗吃骨头,泰迪吃饭
          two.sleep(); //泰迪睡姿
        }
    }

  

原文地址:https://www.cnblogs.com/paulwinflo/p/12957762.html