黑马程序员技术交流社区
标题:
关于this关键字的问题
[打印本页]
作者:
我为你着迷
时间:
2014-4-2 20:17
标题:
关于this关键字的问题
本帖最后由 我为你着迷 于 2014-4-2 20:29 编辑
class Person
{
private String name;
private int age;
Person(String n)
{
this. name=name;
}
Person(String n,int a)
{
name=n;
age=a;
}
public void speak()
{
System.out.println("B:name="+name+",,age="+age);
}
}
class PersonDemo2
{
public static void main(String[] args)
{
Person p=new Person("lisi");
}
}
复制代码
大家好,关于this.name=name; 就是毕老师视频说这个this是用来区分成员变量和局部变量的,我的问题是以上代码是怎么看出来哪个name是局部的哪个name是成员的呢?说白了我就是想知道在这个程序中name在哪块是局部的,又在哪块是成员的呢?我很疑惑,我口才不太好,也不知道大家能不能知道我表达的是什么意思! 知道的麻烦大伙帮忙解答下,跪谢了!
作者:
shi0000
时间:
2014-4-2 22:26
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");
}
}
这里没有局部变量,看我给你在代码中加的两句话,
总的来说,局部成员变量必须赋给一个初始值,而成员变量不需要。而且即使一个类中,成员变量也不能在他的方法外使用。
作者:
我为你着迷
时间:
2014-4-2 22:47
shi0000 发表于 2014-4-2 22:26
class Person
{
我懂了,谢谢你! 亲
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2