Java 抽象類
1、抽象類:使用abstract修飾的類
抽象方法:使用abstract修飾的方法
包含抽象方法的類必須是抽象類,但是抽象類可以不包含抽象方法。
抽象類是需要被繼承的,抽象方法是需要被重寫的,建議重寫抽象類中的所有方法(包含非抽象方法)。
抽象類是不能被例項化的,只能進行繼承,然後向上造型該類,實現不同的行為。
抽象方法只有方法的定義,沒有具體的實現,需要被重寫。
2、抽象類的意義:
封裝共有的行為和屬性(程式碼複用)
為所有的派生類提供統一的型別(向上造型)
可以包含首項方法,為所有派生類提供統一的入口,派生類的具體實現不同,但是入口是一致的。
3、類的設計規則:
將派生類的共有屬性和行為,抽到超類中。
派生類的行為都一樣,設計為普通方法。
派生類的行為都不一樣,設計為抽象方法,需要派生類進行繼承然後重寫。
4、抽象類的例子:
public abstract class Color{
public void show(){
}
}
class Red extends Color{
public void show(){
System.out.println("我是紅色");
}
}
class Blue extends Color{
public void show(){
System.out.println("我是藍色");
}
}
1234567891011121314
public class Demo{
public static void main( String[] args){
Color c1 = new Red();
Color c2 = new Blue();
c1.show();
c2.show();
}
}
12345678
輸出:
我是紅色
我是藍色
12
5、抽象方法的例子:
public abstract class Teacher{//抽象類
abstract public void teaching();//抽象方法
}
public MathTeacher extends Teacher{
@Override
public void teaching(){//重寫抽象方法
System.out.println("數學老師講課");
}
}
public EnglishTeacher extends Teacher{
@Override
public void teaching(){//重寫抽象方法
System.out.println("英語老師講課");
}
}
123456789101112131415
public class Demo{
public static void main(String[] args){
Teacher lee = new MathTeacher();
Tacher tom = new EnglishTeacher();
lee.teaching();
tom.teaching();
}
}
12345678
輸出:
數學老師講課
英語老師講課
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979119/viewspace-2709058/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java抽象類和抽象方法Java抽象
- java之抽象類Java抽象
- 淺談Java抽象類Java抽象
- Java的抽象類 & 介面Java抽象
- java中抽象類和介面Java抽象
- Java —— 流的抽象基類Java抽象
- JAVA物件導向--抽象類Java物件抽象
- Java抽象(方法,類)和Java的介面Java抽象
- Java 的抽象類, 介面以及內部類Java抽象
- Java之繼承和抽象類Java繼承抽象
- Java總結-抽象類與介面Java抽象
- java中的抽象類與介面Java抽象
- Java的抽象類與介面理解Java抽象
- java多型抽象類例項Java多型抽象
- Java基礎-抽象類和介面Java抽象
- JAVA介面繼承、抽象類等Java繼承抽象
- Java抽象類和介面 小白版Java抽象
- 抽象類、抽象欄位、抽象方法抽象
- java抽象類與介面——設計模式Java抽象設計模式
- Java抽象類與介面的區別Java抽象
- 抽象方法和抽象類抽象
- 抽象類和抽象方法抽象
- 抽象類抽象
- PHP 抽象類繼承抽象類時的注意點PHP 抽象類繼承抽象類時的注意點PHP抽象繼承
- java中的抽象類abstract怎麼使用?Java抽象
- java介面和抽象類的簡單理解Java抽象
- Java中抽象類和介面的區別Java抽象
- JAVA中介面和抽象類的區別Java抽象
- Java中抽象類與介面的區別Java抽象
- 我如何理解Java中抽象類和介面Java抽象
- java中抽象類跟介面的區別Java抽象
- 深入理解Java的介面和抽象類Java抽象
- Java中的介面與抽象類詳解Java抽象
- JAVA基礎之三-介面和抽象類Java抽象
- 14、抽象類抽象
- PHP 抽象類繼承抽象類時的注意點PHP抽象繼承
- Java:面試題:抽象類與介面的區別Java面試題抽象
- Java 簡單實現撲克牌抽象類Java抽象