Понимание использования «this» в классах Java
Хотя «this» может в первую очередь относиться к текущему объекту, его конкретному использованию и необходимость может сбить с толку. Вот разбивка сценариев, в которых «это» незаменимо:
1. Устранение неоднозначности ссылок на переменные в сеттерах
Методы сеттеров часто используют «this», чтобы различать параметры и частные переменные-члены, имеющие одно и то же имя. Используя «this.x», код автоматически присваивает значение параметра «x» переменной экземпляра «x», избегая любой двусмысленности.
Пример:
public class Foo { private String name; public void setName(String name) { this.name = name; } }
2. Передача текущего экземпляра класса в качестве аргумента
При вызове методов других объектов «this» позволяет вам передать текущий экземпляр класса в качестве аргумента. Это позволяет вызываемому методу получать доступ к текущему объекту и взаимодействовать с ним.
Пример:
public class Foo { public String useBarMethod() { Bar theBar = new Bar(); return theBar.barMethod(this); } public String getName() { return "Foo"; } } public class Bar { public void barMethod(Foo obj) { obj.getName(); } }
3. Вызов альтернативных конструкторов
В конструкторах «this» можно использовать для вызова альтернативных конструкторов того же класса. Это полезно, если у вас есть несколько конструкторов и вы хотите инициализировать объект определенными значениями.
Пример:
class Foo { public Foo() { this("Some default value for bar"); // Optional additional lines } public Foo(String bar) { // Do something with bar } }
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3