A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 聂益飞 高级黑马   /  2013-3-22 12:32  /  2037 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 聂益飞 于 2013-3-22 22:21 编辑
  1. class Fu
  2. {
  3.          int x = 5;
  4.          int y =8;    //编译失败
  5.                  void method()
  6.         {
  7.                          int y=9;
  8.                          y=7;   //这里编译没报错,为什么局部变量这样做对,成员变量就不行
  9.         }
  10.          
  11.          
  12.          
  13.         
  14. }

  15. class Zi extends Fu
  16. {
  17.          int b=6;
  18.                
  19.         
  20. }
  21.         class Demo14
  22.         {
  23.                 public static void main(String []args)
  24.                 {
  25.                         Zi m = new Zi();
  26.                          int c = 5;
  27.                         c = 6;
  28.                         System.out.println(m.x);
  29.                 }
  30.         }
复制代码

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-22 13:54

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

2 个回复

倒序浏览
楼上的, 你没说清楚啊, 到底想表达什么?   你的代码可以编译运行啊?
回复 使用道具 举报
你想说的是不是成员变量int x = 5,再来个int x = 8编译报错?是不是,你写成int y=8了,这个是肯定报错的呗,两个变量名怎么能一样呢, 在method方法中 int y = 9; y=7;编译没有报错,很简单啊,定义了一个y变量,赋值为9,然后把y的值改为7了,肯定不会报错的,因为并没有定义两个变量,有个是修改的动作。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马