class Person{
public String getInfo(){
System.out.println("Person类-->" + this);       
return null;
}
}
public class ThisDemo06{
public static void main(String[] args){
Person per1 = new Person();
Person per2 = new Person();
System.out.println("MAIN方法-->" + per1);
per1.getInfo();
System.out.println("--------------------");
System.out.println("MAIN方法-->" + per2);
per2.getInfo();
}
}

解决方案 »

  1.   

    this,就是当前对象的引用,如果你会C,就相当于Person类中有个指针指向自己
      

  2.   

    就是调用getInfo方法的当前对象引用,
    比如per1.getInfo();那就指的是per1的引用。
    per2.getInfo();那就指的是per2的引用。
      

  3.   

    Java中this有三种情况:
    1.指当前对象;
    2.在一个构造器中调用另一个构造器,this(……)根据括号中的参数判断调用哪个构造器,这个必须放在构造器方法的第一行;
    3.调用该对象成员变量。
    你的代码中属于第一种,就是指当前的对象。
    per1调用就是指per1对象,per2调用就是指per2对象!
    此处会把改对象打印出来!
      

  4.   


    正解…… 自己  记住this是指的当前对象就行……
      

  5.   

    public class Person {
    public String getInfo() {
    return "Person类" + this;
    } public static void main(String[] args) {
    Person per = new Person();
    System.out.println(per.getInfo());
    }
    }打印的结果是:Person类com.ok.thisok.Person@18a992fthis有三种用法: 
      1.对当前对象的引用
      2.表示用类的成员变量而非函数参数,注意在函数参数和成员变量同名时区分!其实这是第一一种用法的特例。
      3.用于构造方法中用于引用满足指定参数类型的构造器,需要注意的是只能引用一个构造方法且必须位于首位。
      public class ThisTest {
    private int i = 0; // 第一个构造器有一个int 型形参
    ThisTest(int i) {
    this.i = i + 1; // 此时this是引用了成员变量i而并非是函数的参数i
    System.out
    .println("Int construtor i-----this.i:" + i + "----" + this.i);
    System.out.println("i-1:" + (i - 1) + "this.i+1" + (this.i + 1));
    } // 第二个构造器
    ThisTest(String s) {
    System.out.println("String constructor" + s);
    } // 第三个构造器
    ThisTest(int i, String s) {
    this(s);// this调用的二个构造器
    this.i = i++;
    System.out.println("Int construtctor" + i + "String constratctor" + s);
    }
           //普通的方法
    public ThisTest increment() {
    this.i++;
    return this;
    }

    //买你方法
    public static void main(String[] args) {
    ThisTest  tt0=new ThisTest(10);
    ThisTest  tt1=new  ThisTest("Hello");
    ThisTest  tt2=new ThisTest(20,"Hello agin");
    System.out.println(tt0.increment().increment().increment().i);
    }
      

  6.   

    this,就是当前对象的引用,如果你会C,就相当于Person类中有个指针指向自己
      

  7.   

    其实this在每一个地方都有不同的意义,具体分类。
    1、“本身”(一般情况都是只本身的类,比如变量名重复了,可以使用这样来进行区分)
    2、“调用此方法的调用类”(两个不同类进行跨越方法调用时,被调用的方法就会将this指向调用它的类)
    3、“指向所继承父类”(在构造方法中发生,当有继承才会有此效果)