Abstract 关键字

Abstract 关键字

Abstract 可以修饰类、方法

关键点
  • 如果一个类被修饰为abstract,则此类必须被继承使用
  • abstract类不能存在对象
  • abstract类可以将子类的共性最大型度的抽取出来,放在父类中,以提高简洁性
  • abstract修饰某个方法的,此时这个方法为抽象方法,不许呀实现,在子类中实现后才可以生效
  • 抽象类中可以包含普通的方法,也可以没有抽象方法
注意
private void print(){};此语句表示方法的空实现。 
Abstract void print(); 此语句表示方法的抽象,无实现。

子类的方法必须覆盖父类的抽象方法,方法才能够起作用。

为了实现多态,那么父类必须有定义。而父类并不实现,留给子类去实现。此时可将父类定义成abstract类。如果没有定义抽象的父类,那么编译会出现错误。
Abstract和static不能放在一起,否则便会出现错误。(这是因为static不可被覆盖,而abstract为了生效必须被覆盖。)

例子
public abstract class Telphone{
    public abstract void call();
    public abstract void message();
}
public class CellPhone extends Telphone{
    @Override
    public void call(){

    }
    @Override
    public void message(){

    }
}
public class SmartPhone extends Telphone{
    @Override
    public void call(){

    }
    @Override
    public void message(){

    }
}
public class Test{
    public static void main(String[] args){
        Telphone tp1 = new CellPhone();
        tp1.call();
        tp1.message();
        Telphone tp2 = new SmartPhone();
        tp2.call();
        tp2.message();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章