【发布时间】:2014-06-09 15:32:37
【问题描述】:
我有一个类 Foo,它扩展了 Dialog (SWT)。
我定义了一个数据成员private Bazz bazz
在这个类中,我定义了一个名为GetOkListener() 的方法,它基本上返回一个SelectionListener 对象。
在public void widgetSelected(SelectionEvent arg0)方法内
我正在像这样访问bazz:Foo.this.bazz。
我的问题是,
这怎么可能? bazz 定义为 private。
这个类在Foo extends Dialog内
@Override
protected SelectionListener GetOkListener() {
return new SelectionListener() {
public void widgetSelected(SelectionEvent arg0) {
System.out.println(CreateAlbumDialog.this.album);
}
public void widgetDefaultSelected(SelectionEvent arg0) {
// TODO Auto-generated method stub
}
};
}
【问题讨论】:
-
你能粘贴代码而不是“代码描述”吗?
-
感觉这里涉及到了内部类。
-
内部类可以访问外部类私有成员
标签: java oop inner-classes anonymous-inner-class