類中內部類中的方法訪問外部類中變數的示例
class Day10_11 {
public static void main(String[] args) {
Outer.Inner oi = new Outer().new Inner();
oi.print();
}
}
class Outer {
public int num = 10;
class Inner {
public int num = 20;
public void print(){
int num = 30;
System.out .println(num);//本方法中的區域性變數
System.out.println(this.num);//內部類中的成員變數
System.out.println(Outer.this.num);//外部類中的成員變數
}
}
}
輸出
如果只有一個num變數,那麼完全就不用理會這麼多了,直接num它就會自動搜尋到
相關推薦
類中內部類中的方法訪問外部類中變數的示例
class Day10_11 { public static void main(String[] args) { Outer.Inner oi = new Outer().new Inner(); oi.print()
Java-內部類(三)成員內部類就應該訪問外部類的成員!!
可以看到第一行,在內部類的內部維護了一個名稱為this&0, 型別為我定義的外部類,的變數,同時這個變數被finnal修飾;同時,在下圖黃字部分deputfield,是編譯器將外部類的的變數賦值給this&0,這樣就在內部類持有了一個外部類型別的變數,用來方位外部類的成員。
內部類是如何訪問外部類私有物件的
我們都是知道內部類就是寫在一個類裡面的類,類裡面的類,不知道你們有沒有看過javac之後的結果,就是將一個外部類編譯後,生成的位元組碼檔案結果 public class OutClass{ private String name; private int id;
非靜態內部類為什麼可以訪問外部類的靜態成員
非靜態內部類物件寄生於外部類物件,inn呼叫test()方法時,知道自己呼叫的是它寄生的物件所屬類的類成員; 在階段一:類載入的時候沒有建立外部類物件,但是方法是知道要呼叫的是外部類的類成員,已經確定了 在第二階段:建立非靜態內部類物件,該物件必須寄生於外部類物件,它知道要
Python內部類中如何訪問外部類中的屬性和方法
今天遇到一個Python內部類中如何訪問外部類的屬性和方法的問題,在網上查了一下,推薦以下兩種: 1. 傳入外部類的例項 #傳遞外部類的例項 class OuterClassA(object): def __init__(self): sel
匿名內部類訪問外部類方法中的區域性變數
匿名內部類不能訪問外部類方法中的區域性變數,除非變數被宣告為final型別 1. 這裡所說的“匿名內部類”主要是指在其外部類的成員方法內定義,同時完成例項化的類,若其訪問該成員方法中的區域性變數,區域性變數必須要被final修飾。 2. 原因是編
內部類訪問外部類方法中的引數-使用final
publicsynchronized<T extendsMetricsSource> T register(finalString name,finalString desc,final T source){if(this.monitoring){ reg
深入理解Java中為什麼內部類可以訪問外部類的成員
{ final Outer this$0; flags: ACC_FINAL, ACC_SYNTHETIC Outer$Inner(Outer); flags: Code: stack=2, locals=2, args_size=2 0: a
解決JAVA中內部類所對應的外部類引用初始化的問題
java內部類的分類 java內部類的分類:成員內部類、區域性內部類、靜態內部類(巢狀類)、匿名內部類。 在構建內部類物件時,需要一個指向其外部類物件的引用,而且這種引用的傳遞是通過內部類的構造器來完成的。 如果編譯器訪問不到這個引用就會報錯。 CASE 1: // 用.n
“全棧2019”Java第八十二章:巢狀介面能否訪問外部類中的成員?
難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第八十二章:巢狀介面能否訪問外部類中的成員?
JavaSE8基礎 內部類可以訪問外部類的私有成員
外部 alt ner dem testin pub out .sh logs os :windows7 x64 jdk:jdk-8u131-windows-x64 ide:Eclipse Oxygen Release (4.7.0) 代碼:
當內部類和外部類存在同名成員時,如何訪問外部類的成員
rgs sta 內部類 public func main 外部 str print 打印結果是什麽 答案2public class Test { public static void main(String[] args) { Outer.Inner on = ne
Python沒有"內部類"這一說法,內部類訪問外部類例項的成員,需要將外部類例項作為引數傳入。
除了傳outter的例項做為引數外,似乎沒有簡單的方式了。 內部類本身是不知道自己被哪個外部類包含的,也就是說語言中沒有提供訪問外部類的關鍵字或者方法,因此除了使用的語法有一點點不同外,其他和外部類沒有什麼區別的。 就是傳遞引數了 class Outter: nam
“全棧2019”Java第七十二章:靜態內部類訪問外部類成員
難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第七十二章:靜態內部類訪問外部類成員 下一章 “全棧2019”Java第七十三章:外部類裡多
java 內部類如何訪問外部類的同名屬性
package com.card; /** * 內部類如何訪問外部類的同名屬性 * * by Zhiwang Zhang on 2014年7月18日 */ public class Test95 { private int age; public sta
C++ 實現內部類訪問外部類
2013年12月10日 15:18:17 meilinbaobei 閱讀數:720 個人分類: c++
【重點】內部類初始化以及訪問外部類變數
成員內部類可以隨便訪問成員變數, 方法的內部類訪問方法的成員變數,成員變數必須是final型別 package com.xiaozhi.interclazz; class Outer { private int x = 3; class Inner { in
內部類訪問外部類變數的問題
package test; public class TestFinal { //只有定義成 final User user 才不會報錯為什麼? public void test( User user) { (new Thread(
靜態內部類訪問外部類靜態變數的原因分析
寫一個類用來判斷是否靜態類和非靜態類的能不能訪問外部的靜態變數和非靜態變數,答案是靜態內部類可以訪問靜態變數,而不可以訪問類的非靜態內部類。 原因是:當一個靜態內部類被使用的時候,它的外部類一定已經被載入了(這個可以參考類載入機制),外部類載入了以後它的靜態變數才會放到
“全棧2019”Java第六十九章:內部類訪問外部類成員詳解
難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第六十九章:內部類訪問外部類成員詳解 下一章