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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我为你着迷 金牌黑马   /  2014-4-2 20:17  /  1174 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 我为你着迷 于 2014-4-2 20:29 编辑
  1. class Person
  2. {
  3.   
  4.              private String name;
  5.              private int age;
  6.             
  7.               Person(String n)
  8.              {
  9.               this. name=name;         
  10.                
  11.              }
  12.              Person(String n,int a)
  13.              {
  14.                 name=n;
  15.                 age=a;
  16.                
  17.              }
  18.         
  19.             public void speak()
  20.              {
  21.                System.out.println("B:name="+name+",,age="+age);
  22.              }
  23. }         
  24.             
  25. class PersonDemo2
  26. {
  27.                  public static void main(String[] args)
  28.                  {
  29.                                    Person p=new Person("lisi");
  30.                   
  31.                  }
  32. }            
复制代码


大家好,关于this.name=name;    就是毕老师视频说这个this是用来区分成员变量和局部变量的,我的问题是以上代码是怎么看出来哪个name是局部的哪个name是成员的呢?说白了我就是想知道在这个程序中name在哪块是局部的,又在哪块是成员的呢?我很疑惑,我口才不太好,也不知道大家能不能知道我表达的是什么意思!  知道的麻烦大伙帮忙解答下,跪谢了!









评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

2 个回复

倒序浏览
  • class Person
  • {
  •              private String name;//这是成员变量,因为定义这外边,没有在函数里边,你在看,speak()方法中。。。
  •              private int age;
  •               Person(String n)
  •              {
  •               this. name=name;
  •              }
  •              Person(String n,int a)
  •              {
  •                 name=n;
  •                 age=a;
  •              }
  •             public void speak()
  •              {
  •                  String qq="我是局部变量";//这个定义在函数里边,就是局部变量
  •                System.out.println("B:name="+name+",,age="+age+qq);
  •              }
  • }
  • class PersonDemo2
  • {
  •                  public static void main(String[] args)
  •                  {
  •                                    Person p=new Person("lisi");
  •                  }
  • }
  • 这里没有局部变量,看我给你在代码中加的两句话,
  • 总的来说,局部成员变量必须赋给一个初始值,而成员变量不需要。而且即使一个类中,成员变量也不能在他的方法外使用。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报

我懂了,谢谢你! 亲
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马