日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java内部类继承类_java内部类基础(内部类继承关系 或外部类整体继承)

發(fā)布時間:2024/3/12 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java内部类继承类_java内部类基础(内部类继承关系 或外部类整体继承) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

class WithInner {

class Inner {

Inner() {

System.out.println("this is a constructor in WithInner.Inner");

};

}

}

//默認(rèn)無參構(gòu)造器不好使?。有參構(gòu)造器,傳遞外部類,用外部類的supper()去構(gòu)造。

public class InnerExtendsT extends WithInner.Inner {

//InnerExtendsT() {} // Won't compile

//必須傳遞 外部類的引用,并調(diào)用supper()才可以。

InnerExtendsT(WithInner wi) {

wi.super();

System.out.println("this is a constructor in InheritInner");

}

public static void main(String[] args) {

WithInner wi = new WithInner();

InnerExtendsT ii = new InnerExtendsT(wi);

}

}

————————————————————————————————————————————

class Egg {

private Yolk y;// 蛋黃

protected class Yolk {

public Yolk() {

System.out.println("Egg.Yolk()");

}

}

public Egg() {

System.out.println("New Egg()");

y = new Yolk();

}

}

//當(dāng)你繼承了某個外圍類的時候,內(nèi)部類并沒有發(fā)生什么特別神奇的變化。這兩個內(nèi)部類是完全獨(dú)立的兩個實體,各自在自己的命名空間內(nèi)。

public class MultiExtends extends Egg {

public class Yolk {//重構(gòu)了 它自身的 內(nèi)部類,但是 實際上 基類的內(nèi)部類并沒有變化? 雖然是大雞蛋,但是還是小蛋黃

public Yolk() {

System.out.println("BigEgg.Yolk()");

}

}

public static void main(String[] args) {

new MultiExtends();

}

}

——————————————————————————————————————————————

class Egg2 {

protected class Yolk {

public Yolk() {

System.out.println("inner class initialize beforing......class initialing....");

System.out.println("Egg2.Yolk()");

}

public void f() {

System.out.println("Egg2.Yolk.f()");

}

}

public Egg2() {

System.out.println("New Egg2()");

}

private Yolk y ;// = new Yolk();構(gòu)造過程之前進(jìn)行引用對象的處理。

public void insertYolk(Yolk yy) {

y = yy;

}

public void g() {

if(y == null){

y = new Yolk();//運(yùn)用的時候,再創(chuàng)建。

}

y.f();

}

}

public class MultiExtends2 extends Egg2 {

public class Yolk extends Egg2.Yolk {//強(qiáng)制繼承 雞蛋的蛋黃

public Yolk() {

System.out.println("BigEgg2.Yolk()");

}

public void f() {

System.out.println("BigEgg2.Yolk.f()");

}

}

/**

* 父類對象的引用的處理

*/

public MultiExtends2() {

System.out.println("kkkkkk");

insertYolk(new Yolk());? //重新設(shè)置之后,調(diào)用新的對象。

}

public static void main(String[] args) {

Egg2 e2 = null;

e2 = new MultiExtends2();

e2.g();

}

}

————————————————類嵌套——————————————————————————

public class MultiNestingAccess {

public static void main(String[] args) {

MNA mna = new MNA();

MNA.A mnaa = mna.new A();

MNA.A.B mnaab = mnaa.new B();

mnaab.h();

}

}

class MNA {

private void f() {

}

class A {

private void g() {

}

public class B {

void h() {

g();

f();

}

}

}

}

總結(jié)

以上是生活随笔為你收集整理的java内部类继承类_java内部类基础(内部类继承关系 或外部类整体继承)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。