在线名词解释大全 - Java语言程序设计 - 详细

下面代码标注中哪个代码是错误的()classOutClass{intm=1;staticfloatx;//AclassInnerClass{intm=12;//Bstaticfloatn=20.89f;//CInnerClass(){}voidf(){m=100;}}voidcry(){InnerClasstom=newInnerClass();//D}}

A
 A
B
 B
C
 C
D
 D
正确答案:
由于内部类的实例化是由外部类实例化之后加载的,如果外部类还没有实例化,这时候调用内部类的静态成员,此时内部类还没有被加载,却要开始创建静态成员,这是矛盾的,所以java中不能存在内部有静态成员的非静态类。
相关推荐
扫描二维码
关注公众平台