1 回答
TA贡献1880条经验 获得超4个赞
以下正确的java代码
import java.lang.reflect.Type;
public class A implements Type{
public static void main(String [] arg){
new A().run();
}
public void run(){
System.out.println( Type.super.getTypeName() );
}
}
在 groovy 下编译失败:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
A.groovy: 10: The usage of 'Class.this' and 'Class.super' is only allowed in nested/inner classes.
@ line 10, column 23.
System.out.println( Type.super.getTypeName() );
但是以下语法工作正常(groovy 2.4.11):
import java.lang.reflect.Type;
public class A implements Type{
public static void main(String [] arg){
new A().run();
}
public void run(){
//System.out.println( Type.super.getTypeName() );
System.out.println( ((Type)this).getTypeName() );
}
}
添加回答
举报