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

《java编程思想》学习笔记——内部类三

2017-11-22 00:00 309 查看
10.3使用.this与.new

1、如果你需要生成对外部类对象的引用,可以使用外部类的名字后面紧跟圆点和this。

public class DotThis
{
void f()
{
System.out.print("DotThis.f()");
}
public class Inner
{
public DotThis outer()
{
return DotThis.this;
}
}
public Inner inner()
{
return new Inner();
}

public static void main(String[] args)
{
DotThis dt = new DotThis();
DotThis.Inner dti = dt.inner();
dti.outer().f();
}
}

2、有时你可能想要告知某些对象,去创建其某个内部类的对象。要实现此目的,你必须在new表达式中提供对其他外部类对象的引用,这是需要使用.new语法。

public class DotNew
{
public class Inner {}
public static void main(String[] args)
{
DotNew dn = new DotNew();
DotNew.Inner dni = dn.new Inner();
}
}

(1)要直接创建内部类的对象,不能直接引用外部类的名字DotNew,而是必须使用外部类的对象来创建内部类对象。

(2)在拥有外部类对象之前是不可能创建内部类对象的。

(3)如果 创建的是嵌套类(静态内部类),那么它就不需要对外部类对象的引用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: