我遇到了JLS8 / 15.9.1中的以下规则:
新令牌后的标识符必须明确表示可访问,非抽象,不是枚举类型的内部类,以及Primary表达式或ExpressionName的编译时类型的成员 。
我无法想象最后的限制意味着什么。也许您可以举一个ExpressionName的主表达式的编译时类型成员的示例?
它说“如果类实例创建表达式是合格的” ..那么..(您的报价)
所以,我想是这种情况:
package test;
public class Test1 {
public class Test3{
}
}
然后在另一个这样的类中实例化它:
package test;
import test.Test1.Test3;
public class Maker {
public static void main(String[] args) {
Test1 test1 = new Test1();
Test3 test3 = test1.new Test3();
}
}
然后,
test1.new Test3()
(test1.new,-一个合格的新而非非合格的新)请享用 :)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句