3 回答

TA貢獻1802條經(jīng)驗 獲得超6個贊
這其實是內(nèi)部類繼承中的特殊語法
內(nèi)部類也和其他普通類一樣可以被繼承,但是繼承內(nèi)部類較繼承普通類要復(fù)雜一些,需要設(shè)置專門的語法進行繼承。
創(chuàng)建OutputInnerClass類,使OutputInnerClass類繼承ClassA類中的內(nèi)部類ClassB。
public class OutputInnerClass extends ClassA.ClassB{ //繼承內(nèi)部類b
public OutputInnerClass(ClassA a)
{a.super();
}}
class ClassA{
class ClassB{}
}
這玩意兒看看有個印象就好 一般沒什么用
在某個類繼承內(nèi)部類時,必須硬性給予這個類一個帶參數(shù)的構(gòu)造方法,并且該構(gòu)造方法的參數(shù)為需要繼承內(nèi)部類的外部類的引用,同時在構(gòu)造方法體中使用a.super()語句,這樣才為繼承提供了必要的對象引用。

TA貢獻2041條經(jīng)驗 獲得超4個贊
super()是當(dāng)前對象的直接父類的無參的構(gòu)造函數(shù)。
在這個問題中super()的執(zhí)行就是執(zhí)行了Outer.Inner 的默認構(gòu)造函數(shù)。
構(gòu)造函數(shù)繼承
規(guī)則:
1 子類無條件繼承父類不含參數(shù)的構(gòu)造函數(shù)
2 若子類無自己的構(gòu)造函數(shù),父類的無參構(gòu)造函數(shù)做為子類構(gòu)造函數(shù),若有創(chuàng)建對象先執(zhí)行父類無參構(gòu)造函數(shù),再執(zhí)行自己的構(gòu)造函數(shù)
3 父類中含參構(gòu)造函數(shù),子類可以在自己的構(gòu)造函數(shù)中用super()來調(diào)用,必須放在第一句.

TA貢獻1777條經(jīng)驗 獲得超3個贊
super()是當(dāng)前對象的直接父類的無參的構(gòu)造函數(shù)。
內(nèi)部類也和其他普通類一樣可以被繼承,但是繼承內(nèi)部類較繼承普通類要復(fù)雜一些,需要設(shè)置專門的語法進行繼承。
創(chuàng)建OutputInnerClass類,使OutputInnerClass類繼承ClassA類中的內(nèi)部類ClassB。
public class OutputInnerClass extends ClassA.ClassB{ //繼承內(nèi)部類b
public OutputInnerClass(ClassA a)
{a.super();
}}
class ClassA{
class ClassB{}
}
在某個類繼承內(nèi)部類時,必須硬性給予這個類一個帶參數(shù)的構(gòu)造方法,并且該構(gòu)造方法的參數(shù)為需要繼承內(nèi)部類的外部類的引用,同時在構(gòu)造方法體中使用a.super()語句,這樣才為繼承提供了必要的對象引用。
添加回答
舉報