abstact class Animal t public void sleep abstact class Canine extends Animal public void roam (1
abstact class Animal { public void sleep() { } } abstact class Canine extends Animal { public void roam() { } }
编译器确保抽象类不会被实例化: abstact class Canine extends Animal public void roam] public class Make Canine i public void goo t Canine c 尽管是抽象类,仍然允许声明该类型的引用 c=new Dogo c= new Canine;eror,不允许实例化一个抽象的类 c roam
编译器确保抽象类不会被实例化: abstact class Canine extends Animal { public void roam() { } } public class MakeCanine { public void go() { Canine c; c=new Dog() ; c=new Canine() ; c.roam(); } } 尽管是抽象类,仍然允许声明该类型的引用。 error,不允许实例化一个抽象的类
Anima族中抽 abstract 象和具体的类 Anima abstract abstract Feline Canine 抽象的类位于继承 树的上部:通过被 扩展而得到应用的 Lion Cat Wolf Dog 价值。 concrete concrete concrete concrete
Animal Feline Canine Lion Cat Wolf Dog abstract abstract abstract concrete concrete concrete concrete Animal族中抽 象和具体的类 抽象的类位于继承 树的上部:通过被 扩展而得到应用的 价值
抽象的方法 抽象的方法意味着该方法必须被子类覆盖;它是没有体的 publiclabstract) void eat(; 没有方法体!以 分号结束。 抽象的方法必须位于抽象类里;但是,抽象类可以拥 有非抽象的方法
抽象的方法 抽象的方法意味着该方法必须被子类覆盖;它是没有体的 public abstract void eat() ; 没有方法体!以 分号结束。 抽象的方法必须位于抽象类里;但是,抽象类可以拥 有非抽象的方法
口 Anima 你必须实现所有的抽象方法 least 在继承树上的第一个具体的 Bromo 类必须实现所有的抽象方法。 Make Noise 即为抽象方法提供一个体。 abstract □ Canine concrete roam Dog eat nakeNoiseO
你必须实现所有的抽象方法: 在继承树上的第一个具体的 类必须实现所有的抽象方法。 即为抽象方法提供一个体。 Animal eat() roam() roam() makeNoise() Canine Dog eat() makeNoise() abstract concrete