在Java中,this / super关键字是否可以表示除类/枚举之外的任何内容?
作者:互联网
我注意到了:
class A {
ClassB b = new ClassB() { // anonymous class
/* some expression using this */
}
}
每当我在匿名类中使用this关键字时,this都会引用封闭的外部类/枚举,而不是匿名类.
这是否意味着这永远不能代表一个匿名类?只是“正常”的类和枚举?
此外,这个或超级代表一个接口?
解决方法:
您关于使用它的说法不正确.当您在匿名类中使用它时,它始终引用匿名类.除非使用OuterClassName.this,否则它永远不会引用封闭的外部类.
this或super永远不能代表接口,因为接口不能有定义的方法.
标签:java,this,super,anonymous-class 来源: https://codeday.me/bug/20190717/1483472.html