标签:
1.this指向当前的对象,更确切的说this是执行当前对象的一个引用变量,比如以下代码,输出的结果的地址值是相同的,也就是this指向了P这个对象
1 public class Person { 2 String name; 3 int age; 4 public void say(){ 5 6 7 System.out.println("this:"+this); 8 } 9 public static void main(String[] args) { 10 Person p=new Person(); 11 p.say(); 12 System.out.println("p:"+p); 13 } 14 }
2.在一个类中,当这个类中的成员变量被与他同名的构造方法中的局部变量隐藏时,我们可以通过this.变量名调用。如下代码:当第7行我们不用this关键字时,输出是“张三吃”,反之“李四吃”,这里的this就是指向11行的p,相当于p.name。
1 public class Person { 2 String name="李四"; 3 int age; 4 5 public Person(){ 6 String name="张三"; 7 System.out.println(this.name+"吃"); 8 9 } 10 public static void main(String[] args) { 11 Person p=new Person(); 12 13 } 14 }
3.当构造方法调用构造方法时,我们可以用this([参数列表])来调用,无参用this(),如以下代码。需要追的是this必须书写在第一行。打印时先打印this的结果:12行,然后打印7行。
1 public class Person { 2 String name; 3 int age; 4 5 public Person(String name){ 6 this("李四",23); 7 System.out.println("一个变量的构造方法"); 8 9 } 10 public Person(String name,int age){ 11 12 System.out.println("两个变量的构造方法"); 13 } 14 public static void main(String[] args) { 15 Person p=new Person("张三"); 16 } 17 }
标签:
原文地址:http://www.cnblogs.com/dear-java/p/4966259.html