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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

java中成员变量是name还可以在方法里面再定义一个name吗?为什么?

5 个回复

倒序浏览
本帖最后由 hufu4635 于 2015-4-18 12:01 编辑

你这句话问的有些问题。
你说成员变量是name可不可以再方法里面再定义一个name。
你说的应该是成员变量和局部变量吧。{:3_52:}

回复 使用道具 举报
可以的。调用局部name,直接用名字就行。如果要调用成员name,用this.name就可以。
回复 使用道具 举报
局部变量
回复 使用道具 举报
  1. class Test
  2. {
  3.         public String name = "zhang_san";
  4.        
  5.         public String getName()
  6.         {
  7.                 String name = "li_si";
  8.                 return "成员Name:"+this.name+"方法中定义Name:"+name;       
  9.         }       
  10. }
  11. class Demo
  12. {
  13.         public static void main(String[] args)
  14.         {
  15.                 System.out.println(new Test().getName());       
  16.         }       
  17. }
复制代码


方法中的变量是放在栈区中,而成员属性是放在堆中的,从物理位子上是分开的,所以可以同时存在,不过在方法中获取成员属性就要在前面加this引用去指向对象中的成员属性了。

test.png (15.25 KB, 下载次数: 29)

test.png
回复 使用道具 举报
可以的 没问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马