栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 中内部类的实例详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 中内部类的实例详解

java 中内部类的实例详解

一:内部类可直接访问外部类的成员变量,包括外部类私有的成员变量  

二:外部类要访问内部类的成员变量,需要建立内部类的对象  

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{//内部类 
    int x=220; 
    public void show(){ 
  System.out.println("内部类的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();//特殊情况.外部类直接访问内部类成员变量 
     outerInner.show(); 
   } 
 
} 

内部类之所以可以直接访问外部类的成员变量,是因为内部类持有外部类的引用。格式:外部类名.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);//访问内部类的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(); 
     
    } 
 
} 

在内部类(一)和内部类(二)中,内部类都是作为全局变量出现的即定义在了类里  ,在此奖内部类定义为局部变量,即定义在方法里.尤其注意:此时内部类要想访问局部变量,那么此  局部变量必须是被final修饰的,如此处的y  

 package cn.com; 
class Outer { 
   int x = 110; 
   public void show() { 
      final int y=99; 
      class Inner {// 内部类 
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(); 
   } 
 
} 

 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/144501.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号