java外部类调用内部类_java中的外部类和内部类 | 学步园
1.概念
外部類:這是一個相對內部類的概念,如果一個類中嵌套了另外一個類,我們就把這個類叫做外部類。
內部類:顧名思義,就是定義在里邊的那個類。 ?見以下代碼:
定義了一個類Outer,在Outer內中一定了私有成員變量x ,成員方法show()和一個內部類 Inner ?; Inner類和普通類一樣也有一個成員變量 x 和成員方法 method
2.訪問規則
1. 內部類可以直接訪問外部類中的成員
2.外部類訪問內部類有兩種方式:
第一種方式: 在主函數中直接用創建內部類對象的方式 , 如 ?: ?Outer out = new Outer();
Outer.Inner in = out.new Inner();
這種方式通常不會用到,不建議使用
第二種方式: ? 在外部類方法中創建內部類對象;
在主函數中創建外部類對象,直接調用外部類方法 。 見以下代碼 :
3.訪問內部類中的成員變量。
思考一個問題,上邊的代碼中,打印出來的 x 的值是幾 ?
沒錯,是 6 ?. 再看看以下的代碼
定義了一個局部變量, 問 現在打印的x 的值是多少了 ?
答案是 4 。
這說明了什么 ?
如果 x 前面什么都沒有,那么內部類中方法訪問的是局部變量 ; 如果沒有局部變量的,就訪問 類中的成員變量 x ?.
再來看看以下的代碼 : 繼續思考 打印的x值會是多少
這時候就變成 3 了 , 所如果要訪問外部成員變量 要加上 Outer.this ? 。
注: 當然,就想Inner類中如果沒有局部變量 x ,即使不加也無所謂程序打印的一樣是 6 ,也就是說 如果沒有局部變量x Inner類中也沒有成員變量x ,這個時候即便 x 前邊什么也不加訪問的也是 外部的 x 值3 了 ?。 見代碼所示 :
總結
以上是生活随笔為你收集整理的java外部类调用内部类_java中的外部类和内部类 | 学步园的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql行级视图与列级视图_[数据库]
- 下一篇: java 非递归求二叉树高度_非递归算法