关于Java问题:“内部类可作为其他类的成员,而且可访问它所在类的成员”?
68.下列关于内部类的说法不正确的是A)内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用B)内部类可以使用它所在类的静态成员变量和实例成员变量C)内部类不可以...
68. 下列关于内部类的说法不正确的是
A)内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用
B)内部类可以使用它所在类的静态成员变量和实例成员变量
C)内部类不可以用abstract修饰符定义为抽象类
D)内部类可作为其他类的成员,而且可访问它所在类的成员
答案是C吗?为什么D的说法正确? 展开
A)内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用
B)内部类可以使用它所在类的静态成员变量和实例成员变量
C)内部类不可以用abstract修饰符定义为抽象类
D)内部类可作为其他类的成员,而且可访问它所在类的成员
答案是C吗?为什么D的说法正确? 展开
2个回答
展开全部
比如
public class DD{
private int xx;
public class AA{
public int getXX(){
return xx;
}
}
public AA getAA(){
return new AA();
}
}
然后就可以调用
DD d = new DD();
DD.AA a = d.getAA();
int value = d.getXX();
内部类可作为其他类的成员,说的是上面例子中的 DD.AA a
,而且可访问它所在类的成员 说的是 int value = d.getXX();
追问
这与我课本上说的“内部类仅供它的外嵌类使用,其他类不可以用某个类的内部类声明对象”会不会冲突?
追答
不冲突。
比如说你就不可以平白无故地new一个内部对象
你不可以 DD.AA a = new DD.AA();
当然有例外情况,就是当内部类为静态的时候还是可以的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |