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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王雷 中级黑马   /  2012-9-28 21:24  /  1465 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class Test7
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 Human h=new Human();

  6.                 h.age=10;

  7.                 h.show();

  8.                 System.out.println(h.age);
  9.         }
  10. }


  11. class Human
  12. {
  13.         int age;

  14.         void show(){
  15.                
  16.                 int age=100; //这个是在show中声明的


  17.                 System.out.println(age); //这个时候使用时首先查找本方法内是否有age,如果有使用.
  18.                
  19.         }
  20. }
复制代码

评分

参与人数 1黑马币 +10 收起 理由
刘芮铭 + 10 希望多提出自己的问题以及帮助他人回答问题.

查看全部评分

2 个回复

倒序浏览
理论上可以这么解释:
1、成员变量定义在类中,整个类都可以访问,而局部变量定义在函数,语句,局部代码块中,只在所属的区域有效。
2、成员变量存在与堆内存的对象中,局部变量存在与栈内存的方法中。
3、成员变量随着对象的创建而存在随着对象的消失而消失,局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。
4、成员变量都有默认的初始化值,局部变量没有默认的初始化值。
注意:如果成员变量如局部变量同名,则优先使用局部变量,一个方法进栈,
先在自己里面找当前的变量,如果没有,再去调用对象中去找。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
恩 ,了解  想发出来让一些不懂的同学研究学习下 ,共同进步{:soso_e113:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马