A. c#中抽象類和虛類的區別
虛方法的關鍵字是virtual
抽象方法的關鍵字是abstract
虛方法和抽象方法的區別:
虛方法:可以在抽象類和非抽象類中定義,可以寫在父類中,在子類中可以被重寫,在定義虛方法時必須實現虛方法(在定義虛方法時需要寫實現方法的代碼或者至少要寫一個分號)
抽象方法:必須定義在抽象類中,必須寫在父類中,在子類中必須被重寫,在定義抽象方法時不能實現方法(在定義抽象方法時不能有大括弧和代碼)
例如:
人:
普通人:輸出姓名(輸出信息要寫在人的類中)
學生:輸出姓名、學號、年齡、愛好等
家長:輸出姓名、聯系電話
教師:輸出姓名、所授課程
註:如果我們實現的這個功能它的一部分功能(輸出)要寫在父類中,而且在不同的子類中需要重寫,那麼在父類中的方法必須定義為虛方法,否則,如果在父類中只需要指定有什麼功能,但不需要實現,這個時候我們就把父類中的方法定義為抽象方法
B. 抽象方法有何特點抽象方法的方法體在何處定義定義抽象方法有何好處
抽象方法一般都定義在父類裡面,但這個父類也必須是抽象的,它的穗裂弊特點是沒有方法體,只有方法名如:
abstract class A{
public abstract void print();//print()方法沒有方源備法體;
}
//類B 繼承A,類B 必須實猜族現父類A中的抽象方法print()
class B extends A{
public void print(){
//方法體....
}
}
抽象方法的好處就在於能讓子類做一些特定的事
C. java中抽象方法不能使用修飾符_和_修飾
private和final