标签:java内部类
Java内部类分为4个部分进行阐述,分别为概览、成员内部类、局部内部类和匿名内部类。
在本文中是Java内部类的概览,主要讲述内部类的概念、内部类的好处、内部类的.class文件名、内部类的类别和内部类的应用场景。
一个类定义在另外一个类的内部,那么该类就称作为内部类。
class OuterClass { class InnterClass { } }
在上述代码中,OutterClass是外部类,而InnerClass是内部类。
“内部类”可以直接访问“外部类”的所有成员
class OuterClass { private int x = 5; class InnterClass { void print() { System.out.println("我可以访问OuterClass的私有成员变量x,它的值是" + x); } } }
在OuterClass中定义了x变量,它是private(私有类型的),但是由于InnerClass是内部类,所以在print方法中可以对x进行访问。
内部类的.class文件名的命名为:外部类$内部类。这样命名的好处是:便于区分该class文件是属于哪个外部类的。
package com.rk.innerclass; class OuterClass { private int x = 5; class InnterClass { void print() { System.out.println("我可以访问OuterClass的私有成员变量x,它的值是" + x); } } } public class MemberInnerClass { public static void main(String[] args) { OuterClass outter = new OuterClass(); OuterClass.InnterClass inner = outter.new InnterClass(); inner.print(); } }
将上述代码进行编译,可以得到三个文件,其中内部类的.class文件名为“OuterClass$InnterClass.class”
Java内部类的类别分为三种:成员内部类、局部内部类和匿名内部类。
我们在描述A事物的时候,发现描述的A事物内部还存在另外一个比较复杂的事物B时候,而且这个比较复杂事物B还需要访问A事物的属性等数据,那么这时候我们就可以使用内部类描述B事物。
标签:java内部类
原文地址:http://lsieun.blog.51cto.com/9210464/1763833