public abstract class Animal {//抽象方法 /* abstract关键字 用于修饰 1.抽象方法只有方法头(方法的声明)没有方法体(花括号都不能有)。 2.包含了抽象方法的类就是抽象类,必须用 abstract修饰。 3. 抽象方法 必须定义(声明)在抽象类中;抽象类中 可以没有 抽象方法。 4.抽象类不能创建对象(实例化),但是可以写构造方法。 创建对象(实例化)需要在抽象类的子类中实现。 !!!!! 只有覆盖了抽象类的中的所有的抽象方法后,其子类才能创建对象。否则该子类还是一个抽象类。 */ public abstract void sleep();//抽象方法 public abstract void eat(); }
public class Dog extends Animal { @Override//在子类中重写抽象类中的抽象方法 public void eat(){ System.out.println("dog eat ~~"); } @Override public void sleep(){ System.out.println("dog lay sleep"); } }
public class demo02 { public static void main(String[] args) { Dog a1=new Dog();//Dog的实例化 a1.eat(); } }