“访问外部类”;超级";来自Java中的内部类
如何从内部类访问外部类““访问外部类”;超级";来自Java中的内部类,java,inner-classes,Java,Inner Classes,如何从内部类访问外部类“super 我正在重写一个方法,使其在不同的线程上运行。在内联线程中,我需要调用原始方法,但当然,只要调用method(),就会变成无限递归 具体来说,我正在扩展BufferedReader: public WaitingBufferedReader(InputStreamReader in, long waitingTime) { [..] @Override public String readLine() { Thre
super
我正在重写一个方法,使其在不同的线程上运行。在内联线程中,我需要调用原始方法,但当然,只要调用method()
,就会变成无限递归
具体来说,我正在扩展BufferedReader:
public WaitingBufferedReader(InputStreamReader in, long waitingTime)
{
[..]
@Override
public String readLine()
{
Thread t= new Thread(){
public void run()
{
try { setMessage(WaitingBufferedReader.super.readLine()); } catch (IOException ex) { }
}
};
t.start();
[..]
}
}
这个地方给了我一个NullPointerException,我找不到
谢谢。像这样:
class Outer {
class Inner {
void myMethod() {
// This will print "Blah", from the Outer class' toString() method
System.out.println(Outer.this.toString());
// This will call Object.toString() on the Outer class' instance
// That's probably what you need
System.out.println(Outer.super.toString());
}
}
@Override
public String toString() {
return "Blah";
}
public static void main(String[] args) {
new Outer().new Inner().myMethod();
}
}
执行上述测试时,显示:
Blah
Outer@1e5e2c3