Java中的抽象类abstract
abstract定义抽象类
abstract定义抽象方法,只需要声明,不需要实现
包含抽象方法的类是抽象类
抽象类中可以包含抽象方法,也可以包含普通方法
抽象类不能直接创建,可以定义父类引用变量指向子类的对象
子类继承抽象类,必须实现父类中的抽象方法
抽象类的应用场景:
1.父类只知道子类应该包含的方法,但是不知道子类如何去实现这些方法,约束子类必须有哪些方法,但是并不关心它如何实现。
2.从多个具有相同特征的类中抽象出一个抽象类,以抽象类作为子类的模板,避免子类设计的随意性
package com.wangcf; //父类 public abstract class Animal { public abstract void eat(); }
package com.wangcf; //子类 public class Bridge extends Animal{ /** * 这个抽象方法必须实现 */ @Override public void eat() { // TODO Auto-generated method stub System.out.println("子类鸟,爱吃虫子"); } }
package com.wangcf; //子类 public class Tiger extends Animal{ @Override public void eat() { // TODO Auto-generated method stub System.out.println("子类老虎爱吃肉"); } }
package com.wangcf; //测试类 public class Test { public static void main(String[] args) { Animal animal=new Bridge(); animal.eat(); Animal animal2=new Tiger(); animal2.eat(); } }