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();
    }
}

 

posted @ 2017-03-09 12:26  言凡  阅读(3002)  评论(0编辑  收藏  举报