2016-11-12 3 views
0
public class Try { 
    String name=""; 
    int age=13; 
    public void changer(Try t) { 
     t = this; 
    } 
} 

что делает t=this сделать в этом коде? Я знаю, что это обычно относится к стартовой переменной в верхней части, но в его случае похоже, что ничего не делает?это в классе java (указатели) JAVA

+0

Прошу прощения, я просто новичок. –

+1

Он присваивает 'this' локальной переменной' t', а затем возвращает, так что практически ничего. – tkausl

+0

в порядке, поэтому он не указывает на какой-либо адрес в данных? если мы назначим два объекта, называемых t1 и t2, и скажем: t1 = t2 он указывает на этот адрес, я прав? но не в этом случае? –

ответ

0

this всегда относится к текущему объекту, вы можете обратиться here

Что т = это сделать в этом коде?

Он назначит предоставленную ссылку t текущему объекту.

Я знаю, что это обычно относится к стартовой переменной в верхней части, но int его корпус выглядит так, будто ничего не делает?

Нет, вы ошибаетесь, это НЕ относится к стартовой переменной в верхней части, скорее, как упоминалось выше, это относится к текущему объекту.

Наиболее распространенным использование this является для инициализации переменных объекта с помощью конструктора, как показано ниже:

public class Try { 
    String name; //initialize using constructor 
    int age; //initialize using constructor 

    //constructor 
    public Try(String name, int age) { 
     this.name = name; //assigns passed name value to current object's name 
     this.age = age; //assigns passed age value to current object's age 
    } 
} 

Таким образом Это не указывает на любой адрес в данных?

this содержит ссылку (считайте указатель в C) текущего объекта.

Если мы назначим два объекта, называемых t1 и t2, и скажем: t1 = t2, он указывает на этот адрес, я прав? но не в этом случае?

Да, если вы назначаете t1=t2 то вы делаете t1, чтобы указать на тот же объект, как t2 т.е., как t1 и t2 ссылаются на тот же объект в куче.

0

t= this означает, что вы назначаете локальную переменную t текущему объекту-конструктору. this относится к текущему объекту.