java 中內(nèi)部類的實(shí)例詳解
java 中內(nèi)部類的實(shí)例詳解
一:內(nèi)部類可直接訪問外部類的成員變量,包括外部類私有的成員變量
二:外部類要訪問內(nèi)部類的成員變量,需要建立內(nèi)部類的對(duì)象
class Outer{
int x=110;
public void show(){
System.out.println("外部類的x="+x);
}
public void showInner(){
Inner inner=new Inner();
inner.show();
System.out.println(inner.x);
}
class Inner{//內(nèi)部類
int x=220;
public void show(){
System.out.println("內(nèi)部類的x="+x);
}
}
}
public class OuterDemo {
public static void main(String[] args) {
Outer outer=new Outer();
outer.show();
outer.showInner();
Outer.Inner outerInner=new Outer().new Inner();//特殊情況.外部類直接訪問內(nèi)部類成員變量
outerInner.show();
}
}
內(nèi)部類之所以可以直接訪問外部類的成員變量,是因?yàn)閮?nèi)部類持有外部類的引用。格式:外部類名.this
如:System.out.println("x="+Outer.this.x);//訪問外部類的x
class Outer{
int x=110;
class Inner{
int x=220;
public void show(){
int x=330;
System.out.println("x="+x);//訪問show()中的x
System.out.println("x="+this.x);//訪問內(nèi)部類的x
System.out.println("x="+Outer.this.x);//訪問外部類的x
}
}
void showInner(){
Inner inner=new Inner();
inner.show();
}
}
public class OuterDemo {
public static void main(String[] args) {
Outer outer=new Outer();
outer.showInner();
}
}
在內(nèi)部類(一)和內(nèi)部類(二)中,內(nèi)部類都是作為全局變量出現(xiàn)的即定義在了類里 ,在此獎(jiǎng)內(nèi)部類定義為局部變量,即定義在方法里.尤其注意:此時(shí)內(nèi)部類要想訪問局部變量,那么此 局部變量必須是被final修飾的,如此處的y
package cn.com;
class Outer {
int x = 110;
public void show() {
final int y=99;
class Inner {// 內(nèi)部類
int x = 880;
public void showInner() {
System.out.println("局部變量y=" + y);
}
}
new Inner().showInner();
}
}
public class OuterDemo {
public static void main(String[] args) {
Outer outer = new Outer();
outer.show();
}
}
如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- java 內(nèi)部類(匿名類,匿名對(duì)象,靜態(tài)內(nèi)部類)詳解及實(shí)例
- Java開發(fā)之內(nèi)部類對(duì)象的創(chuàng)建及hook機(jī)制分析
- Java內(nèi)部類的全限定名規(guī)律代碼示例
- Java中的靜態(tài)內(nèi)部類詳解及代碼示例
- Java單例模式實(shí)現(xiàn)靜態(tài)內(nèi)部類方法示例
- java中的匿名內(nèi)部類總結(jié)
- java 內(nèi)部類的實(shí)例詳解
- 詳解Java 中的嵌套類與內(nèi)部類
- java 中匿名內(nèi)部類的實(shí)例詳解
- Java匿名對(duì)象與匿名內(nèi)部類
相關(guān)文章
Spring Boot與Redisson實(shí)時(shí)排行榜功能
排行榜功能是常見且重要的需求之一,本文主要介紹了Spring Boot與Redisson實(shí)時(shí)排行榜功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05
Java基本數(shù)據(jù)類型與類型轉(zhuǎn)換實(shí)例分析
這篇文章主要介紹了Java基本數(shù)據(jù)類型與類型轉(zhuǎn)換,結(jié)合實(shí)例形式分析了Java基本數(shù)據(jù)類型分類、用法,類型轉(zhuǎn)換及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-04-04
詳解Java中的有參構(gòu)造方法與無參構(gòu)造方法
這篇文章主要詳細(xì)介紹了Java中有參構(gòu)造方法與無參構(gòu)造方法,文中有詳細(xì)的代碼示例,讓大家清晰明了的了解到有參構(gòu)造方法與無參構(gòu)造方法、以及應(yīng)用,需要的朋友可以參考下2023-06-06

