您好,登錄后才能下訂單哦!
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{ 鄭州祛胎記治療價錢 http://m.zykdbhk.com/
@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
輸出:
數學老師講課
英語老師講課
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。