发现一个内部类有意思的现象

ima_zhan 2016-05-06 08:05:39
public class FinalMethod {

private int x = 0;
class innerclass
{
int y = 0;
innerclass(){}

public void doit()
{
x = 12;
//y = 11;
System.out.println("innerclass.y = " + y + " FinalMethod.x = " + x);
}
}
}
这段代码,在调用内部类的doit时显示y也是12,但如果将y的赋值语句打开,y就是11了
...全文
107 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ima_zhan 2016-05-07
  • 打赏
  • 举报
回复
确实看错了,搞了个乌龙,抱歉!!! 初学java,测试的几个,内部类修改外部类变量和内部类本身变量,在函数里给y赋值了 public innerclass GetAInnerClass() { innerclass classinner = new innerclass(); classinner.y = 12; classinner.doit(); return classinner; }
  • 打赏
  • 举报
回复
不可能的,你肯定看错
awusoft 2016-05-06
  • 打赏
  • 举报
回复
你确定你没看错?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧