Pet*_*der 8 java inner-classes
我有一个类和一个子类
01 public class A{
02 void test(){};
03 public class B{
04 void test(){
05 test();
06 }
07 }
08 }
Run Code Online (Sandbox Code Playgroud)
好吧,在05行id喜欢访问类A的方法测试.但我进入循环因为我不知道如何指定使用类A的方法.
有任何想法吗?
Nan*_*ale 15
01 public class A{
02 void test(){};
03 public class B{
04 void test(){
05 test(); // local B.test() method, so recursion, use A.this.test();
06 }
07 }
08 }
Run Code Online (Sandbox Code Playgroud)
编辑:正如@Thilo所提到的:避免在外部类和内部类中使用相同的方法名称,这将避免命名冲突.
你可以这样做:
public class A{
void test(){
System.out.println("Test from A");
};
public class B{
void test(){
System.out.println("Test from B");
A.this.test();
}
}
public static void main(String[] args) {
A a = new A();
B b = a.new B();
b.test();
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您有以下输出:
Test from B
Test from A
Run Code Online (Sandbox Code Playgroud)