父類的類上和方法上有自定義的註解,
子類繼承了這個父類,的情況下。
註解未寫@inherited
註解寫了@inherited
子類的類上能否繼承到父類的類上的註解?否能
子類方法,實現了父類上的抽象方法,這個方法能否繼承到註解?否否
子類方法,繼承了父類上的方法,這個方法能否繼承到註解?能能
子類方法,覆蓋了父類上的方法,這個方法能否繼承到註解?否否
我們知道在編寫自定義註解時,可以通過指定@inherited註解,指明自定義註解是否可以被繼承。
通過測試結果來看,@inherited 只是可控制 對類名上註解是否可以被繼承。不能控制方法上的註解是否可以被繼承。
附註
spring 實現事務的註解@transactional 是可以被繼承的,
通過檢視它的原始碼可以看到@inherited。
子類上是否可以繼承父類的註解
1 父類某個方法上有註解 不論這個註解是否使用了inherit元註解標註 方法被繼承後,只要不重寫,那麼也相當於這個註解被繼承。其實這註解不算被繼承,只不過是效果和繼承一樣,因為子類例項呼叫繼承自父類的方法是使用super.父類方法的方式呼叫的,只不過預設省去super而已,所以最終呼叫的還是父類的...
子類繼承父類的成員變數
1 子類可以繼承父類的成員變數 只能繼承public 和protected,不能private 2 子類拿到的父類的成員變數值是初始化的值。3 如下面classb繼承classa,只能拿到初始化的a的值。int classa a 0 int main class classa include std...
子類繼承父類重寫父類的屬性值問題
試想一下 的執行結果 package com.syc.test public class a class fatherclass class sonclass extends fatherclass 程式的執行結果是 你想對了嗎?我們稍微做乙個改變,繼續試想一下 的執行結果 package com....