最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

Java成员内部类的创建与实例化使用

Java基础 太平洋学习网 浏览 评论

Java成员内部类在项目中也是常常使用到,很多人不知道成员内部类是什么,下面是Java成员内部类的定义:

成员内部类指的是在某个类中,在方法之外的非静态类,被称之为Java成员内部类

如下就是java成员内部类的基本组成,代码如下:

class Outer{  
 //code  
 class Inner{  
  //code  
 }  
}

比如我们要开发一个成员内部类,我们要在外部类的方法中,调用成员内部类里面的msg()方法,而msg()方法又访问了外部类的私有成员,此时我们该如何做呢?请看下面的示例:

class TestMemberOuter1{  
 private int data=30;  
 class Inner{  
   void msg(){System.out.println("data is "+data);}  
 }  
 public static void main(String args[]){  
  TestMemberOuter1 obj = new TestMemberOuter1();  
  TestMemberOuter1.Inner in = obj.new Inner();  
  in.msg();  
 }  
}

在上面的例子中,我们来思考一下Java成员内部类的内部工作做了哪些工作?

在内部类的情况下,java编译器创建了两个类文件,内部类的类文件名是“Outer $ Inner”,如果要实例化内部类,则必须先要创建外部类的实例,在这种情况下,内部类的实例是在外部类的实例中创建的,也就是说内部类具有了外部类的引用。

所以,这也就是inner内部类可以访问所有包括private外部类在内的外部类成员的原因。

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/java/2019/0309/911.html

    与本文相关的文章

    发表我的评论
    取消评论

    表情

    您的回复是我们的动力!

    • 昵称 (必填)

    网友最新评论