永发信息网

JAVA内部类嵌套问题

答案:3  悬赏:60  手机版
解决时间 2021-01-26 19:47
  • 提问者网友:鐵馬踏冰河
  • 2021-01-25 21:04
A类中嵌套了B,B中又嵌套了C,怎么在C中获得A的引用

class A {
... ....
... ....
calssB {
... ...
... ...
class C {
.... ....
.... ....
public void fun() {
//这里想获得A的引用。。。使用A的成员变量,怎么写?
}
}
}
}
最佳答案
  • 五星知识达人网友:玩世
  • 2021-01-25 22:19
首先,你这样ABC的动态嵌套肯定有严重误用的嫌疑。。
如果要强行引用A的实例对象中成员,写法是A.this.methodOfA();

public void fun() {
System.out.println(A.this.propertyX);
A.this.methodOfA();
}
如果内层类不是随着外层类的实例对象的内容变化而变化,内层类要加static class C设为静态类。可减少一个数量级的不必要的资源浪费。
如果内层类是公用的,被别的类调用很多或逻辑从属关系不明显,还要考虑不写成内层类。单独写一个java文件。
全部回答
  • 1楼网友:刀戟声无边
  • 2021-01-25 23:24
discount=(float)9/10; discount=(float)8/10; discount=(float)7/10; discount=(float)6/10; 是类型转换出问题了 整形转浮点型 如果不转换的肯定是0了 输入多少都是0 
  • 2楼网友:摆渡翁
  • 2021-01-25 22:35
public class A{ public static void main(String[] args){ A.B.C abc=new A().new B().new C(); abc.fun(); } private String s="hello"; class B{ class C { public void fun() { //这里想获得A的引用。。。使用A的成员变量,怎么写? A a=new A(); System.out.println(a.s); } } } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯