java this



This в java

Автор Ксения Андреева задал вопрос в разделе Другие языки и технологии

Когда и зачем в java нужно использовать this. ? и получил лучший ответ

Ответ от Ra[гуру]
В перечисленных ниже случаях без this не обойтись.
При необходимости обращаться к полям класса, если в этом же блоке кода имеются локальные переменные с теми же самыми именами, как и у полей класса:
public class Pair {
private int first;
private int second;
public Pair(int first, int second) {
// здесь локальные переменные first, second имеют те же имена, что и поля класса,
// для доступа к полю используем this
this.first = first; this.second = second;
}
}
this используется для вложенных вызовов конструкторов классов:
public class Pair {
private int first;
private int second;
// первый конструктор с аргументами
public Pair(int first, int second) { this.first = first; this.second = second; }
public Pair() {
// второй конструктор без аргументов вызывает конструктор с аргументами,
// определенный ранее, используя ключевое слово this
this(0, 0);
}
}
Для обращения к полям или методам из внутреннего класса к полям или методам обрамляющего класса имеющим такие же имена, как и у внутреннего:
public class OuterClass {
private int value;
class InnerClass { // внутренний класс
private int value;
InnerClass() { value = 1; }
public void someMethod() {
System.out.println(value); // обращение к полю внутреннего класса
System.out.println(OuterClass.this.value); // обращение к полю обрамляющего класса
}
}
private InnerClass inner;
public OuterClass() {
value = 2;
inner = new InnerClass();
}
public void someMethod() {
inner.someMethod();
}
}

Ответ от [гуру]
Тогда, когда по коду не вполне ясно, что имеется в виду поле или метод именно данного объекта.
Например, если у класса много статических и нестатических свойств, при обращении к нестатическому свойству.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Когда и зачем в java нужно использовать this. ?
спросили в Jeep
Чем Java отличается от JavaScript
Между Java и JS - разница, как между барабаном и барабанной перепонкой.

Java - язык
подробнее...
спросили в Java API
нужна помощь по Java
херня, слово
подробнее...

Как остановить цикл в java?
Ну так читай кнопку в цикле. Это консольное
подробнее...

абсолютный путь в java
Paths.get(this.getClass().getResource("path").toURI())

Максим
(115833)подробнее...

Объясните делегирование конструкторов в java! Только начал изучать программирование
По моему тут имеется ввиду super(). Остальные авторы написали какой то несусветный бред.
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

Объясните как реализовать метод в java.
Apple.applesPrice += applesPrice;
Максим
(115835)
this.applesPrice =
подробнее...
спросили в User cv User java
Как импортировать библиотеку в Java?
У javac есть ключик:

-cp path or -classpath path
Specifies where to find user class
подробнее...
спросили в String h
Не выводит изображение в JAVA
Замени это
IMG(){
JFrame frame = new JFrame();подробнее...
спросили в Jeep
объясните зачем метод void в java? как можно проще, я новичек К примеру тут public static void main (string[] args)
- главный метод, без него ничего не запустится
он принимает аргументы/параметры во время
подробнее...
спросили в User ast User chr
Конструкторы в java
А почему нельзя сделать два конструктора? И метод типа SetID()?

Василий
подробнее...

В чём различие get и set в Java?
private int value;

public int getVal() {return value;}
public void setVal(int v) {value =
подробнее...
Java на Википедии
Посмотрите статью на википедии про Java
Петушков Роман Александрович на Википедии
Посмотрите статью на википедии про Петушков Роман Александрович
Суперкласс программирование на Википедии
Посмотрите статью на википедии про Суперкласс программирование
Тамбовская областная универсальная научная библиотека имени А С Пушкина на Википедии
Посмотрите статью на википедии про Тамбовская областная универсальная научная библиотека имени А С Пушкина
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*