本帖最后由 十七 于 2014-3-14 09:44 编辑
this关键字,可以区分成员变量和局部变量。可是,为什么下面的DayTest1.java中,不用this,,也可以正确输出对象的值。而DayTest2.java却要用this才可以。这是什么原因?
- /*
- 关键字this的应用
- */
- class Person
- {
- private int age;
- private String name;
- Person(int age) //为什么不用this关键字,也可以正确的赋值给对应对象
- {
- age=age;
- System.out.println("age="+age);
- }
- Person(String name,int age)
- {
- name=name;
- age=age;
- System.out.println("A:name="+name+",,,,age="+age);
- }
-
- }
- class DayThis1
- {
-
-
-
- public static void main(String[] args)
- {
- Person p=new Person(21);
- Person p1=new Person("kai",21);
- }
- }
- --------------------------------------------
- /*
- 关键字this的应用
- */
- class Person
- {
- private int age;
- private String name;
- Person(int age) //为了变量读的有意义,局部变量与成员变量同名,此时,用this区分
- {
- this.age=age;
- }
- Person(String name,int age)
- {
- this.name=name;
- this.age=age;
-
- }
- public void speak()
- {
- System.out.println("A:name="+name+",,,,age="+age);
- }
- }
- class DayThis2
- {
-
-
-
- public static void main(String[] args)
- {
- Person p=new Person(21);
- p.speak();
- Person p1=new Person("kai",21);
- p1.speak();
- }
- }
复制代码 |