2.0 this关键字

 1 class Person{
 2     private String name;
 3     private int age;
 4     
 5     Person(){
 6         System.out.println("run");
 7     }
 8     Person(String name){
 9         this.name = name;
10     }
11 }

/*


this:看上去,是用于区分局部变量和成员变量同名情况。

this为什么可以解决这个问题?

this到底代表的是什么呢?

this就代表本类的对象,到底代表哪一个呢?

  this代表它所在函数所属对象的引用。

  简单说,哪个对象在调用this所在函数,this就代表哪个对象。

 

/*

需求:给人定义一个用于比较年龄是否相同的功能,也就是是否是同龄人。

*/

*/


class Person{
 private String name;
 private int age;
 
 Person(){
  System.out.println("run");
 }
 Person(String name){
  this.name = name;
 }
 
 public boolean compare(Person p) {
  if(this.age==p.age) {
   return true;
  }
  return false;
 }
}

public class PersonDemo1 {
 public static void main(String[] args) {
  Person p = new Person("lili");
  Person p2 = new Person("zhangsan");
  
  boolean b= p.compare(p2);
  
 }
}

this语句:用于构造函数之间进行相互调用。
this语句只能定义在构造函数的第一行,因为初始化要先执行。
 Person(){
  System.out.println("run");
 }
 Person(String name){
  this.name = name;
 }
 Person(String name,int age){
  this(name);
  this.age = age;
 }

 

posted @ 2018-06-28 15:55  小周末诞生  阅读(107)  评论(0)    收藏  举报