abstract 類的誤解

2021-09-01 20:00:49 字數 532 閱讀 3184

今天在寫**時,很多類中都要使用log4j,每個類中都要寫一句private logger log = logger.getlogger(myclass.class);特別麻煩,所以就想在父類中定義乙個protected log物件,供子類使用,網上搜了一下例子,從這些例子中看到了自己很多地方的誤解,特此記錄一下。

1.abstract類中不必有abstract方法,原basedao不是抽象類,加上abstract修改後,原以為要加乙個抽象方法,結果不用做任何修改。

2.abstract類中也可以有構造方法,原以為abstract類不能宣告物件,構造方法也是無用的,所以不能有構造方法,而事實是抽象類中是可以有構造方法的,構造方法主要供子類通過super呼叫,並且在構造子類物件時會呼叫父類的同參構造方法。

3.abstract類中的this並不是指抽象類本事,而是指子類物件,所以通過this獲取物件屬性時獲取的都是例項化abstract類子類的屬性。

最後結果:

public abstract class test1

}

abstract類和abstract方法

可以使用abstract來修飾乙個類或者方法。用abstract修飾的類表示這個類是乙個抽象類,用abstract修飾的方法表示這個方法是乙個抽象方法。抽象類不能被例項化。抽象方法是只有方法宣告,而沒有方法的實現內容。可以使用abstract來修飾乙個類。用abstract修飾的類表示這個類是乙個抽...

abstract類和abstract方法

可以使用abstract來修飾乙個類或者方法。用abstract修飾的類表示這個類是乙個抽象類,用abstract修飾的方法表示這個方法是乙個抽象方法。抽象類不能被例項化。抽象方法是只有方法宣告,而沒有方法的實現內容。可以使用abstract來修飾乙個類。用abstract修飾的類表示這個類是乙個抽...

abstract類和abstract方法

可以使用abstract來修飾乙個類或者方法。用abstract修飾的類表示這個類是乙個抽象類,用abstract修飾的方法表示這個方法是乙個抽象方法。抽象類不能被例項化。抽象方法是只有方法宣告,而沒有方法的實現內容。abstract 抽象類 可以使用abstract來修飾乙個類。用abstract...