您的位置:首页 > 编程语言 > Java开发

java中的内部类初识

2012-03-15 15:01 246 查看
定义:将AClass类的定义放在BClass类的定义内部,那么AClass就是内部类,而BClass就是对应的外部类。

内部类的使用与普通类一样。但是,如果想从外部类的非静态方法之外的任意位置创建内部类的对象,那么必须像在main方法中那样,具体地指明这个对象的类型:格式为:OuterClassName.InnerClassName

举例说明:

public class TestInnerClass {

class InnerClass {
private int i;

public InnerClass() {
this.i = 5;//这里的this代表的是InnerClass
}

public int getI() {
return i;
}
}

private static TestInnerClass _instance;

private TestInnerClass() {
}
/**
* 在静态方法中创建内部类对象
* 在创建内部类对象之前,必须实例化外部类
* @return
*/
public static TestInnerClass getInstance() {
if (null == _instance) {
_instance = new TestInnerClass();
}
return _instance;
}

public static InnerClass getInnerClass()
{
return _instance.new InnerClass();
}
/**
* 在非静态方法中创建内部类对象
* 直接使用内部类名称即可创建内部类对象
* @return
*/
public InnerClass getSecInnerClass()
{
return new InnerClass();
}

/**
* @param args
*/
public static void main(String[] args) {
//实例化内部类的方法
TestInnerClass ti = new TestInnerClass();
TestInnerClass.InnerClass inn = ti.new InnerClass();
System.out.println(inn.getI());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: