Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/47: Рейтинг темы: голосов - 47, средняя оценка - 4.55
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229

Для чего нужен This?

26.03.2013, 23:43. Показов 9816. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Объясните пожалуйста на примере, для чего конкретно нужен идентификатор This?
В доках почитал его назначение, смутно понял,.. Но реально, что бы куда то его по существу, с пользой использовать, ну не вижу толку с него и все.

Как я понял, идент. This используется для указания использования конкретной переменной, именно/только в методе.

к примеру:
- у нас есть глобальные переменные в главном классе,
-и переменные с таким же названием в методе,
-если нам нужно в главный класс передать и присвоить значение к глобальной переменной через метод , то мы используем Зис для конкретизации переменной - в какую получаем значение и какой передаем , так???
но смысл??? объясните!!!!!

почему не обозвать их просто разными именами или что то типа того????
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.03.2013, 23:43
Ответы с готовыми решениями:

Для чего нужен FileWriter?
Можете пожалуйста объяснить зачем нужен FileWriter, и что именно он делает ? На примере желательно. Спасибо.

Для чего нужен пустой вывод?
public class Matrix { public static void main(String args) { for (int w = 1; w < 10; w++) { for (int q =...

Для чего нужен этот код?
Добрый день форумчане, решал задачки по Абстракции, все понял, кроме одного кода, не могли бы вы мне объяснить, что он означает? ...

28
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
06.04.2013, 14:15  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от AckiyBolt Посмотреть сообщение
о. вот эта тема
спасибо мутагену, теперь можно почитать заметочку в моем бложике. оно по умолчанию было закрыто для непосвященных
спасибо, интересно было почитать
0
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
08.07.2018, 22:22
Цитата Сообщение от AckiyBolt Посмотреть сообщение
this - это ссылка на объект в котором он употребляется, т.е. на самого себя
Здравствуйте, можете мне объяснить вот это:

Java
1
Display d = Display.getDisplay(this);
Зачем в параметрах метода стоит слово "this"?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,698
Записей в блоге: 29
09.07.2018, 06:05
Цитата Сообщение от Vladimir1982 Посмотреть сообщение
Зачем в параметрах метода стоит слово "this"?
потому что он принимает как аргумент объект класса, который у тебя в коде его вызывает. Больше сказать сложно, так как не ясно что это за Дисплей, из какой библиотеки, ну и остального кода нет.
1
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
09.07.2018, 09:00
Цитата Сообщение от Welemir1 Посмотреть сообщение
потому что он принимает как аргумент объект класса, который у тебя в коде его вызывает. Больше сказать сложно, так как не ясно что это за Дисплей, из какой библиотеки, ну и остального кода нет.
Спасибо!

Добавлено через 20 минут
Цитата Сообщение от Welemir1 Посмотреть сообщение
потому что он принимает как аргумент объект класса, который у тебя в коде его вызывает. Больше сказать сложно, так как не ясно что это за Дисплей, из какой библиотеки, ну и остального кода нет.
а тут как я понял "d" переменная, а "Display" это объект? Только он почему то два раза повторяется?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,698
Записей в блоге: 29
09.07.2018, 09:28
Цитата Сообщение от Vladimir1982 Посмотреть сообщение
а тут как я понял "d" переменная, а "Display" это объект? Только он почему то два раза повторяется?
d это переменная класса Дисплей

Display.getDisplay(this); - судя по всему возвращает объект класса Дисплей
он повторяется верно -мы пишем "присвоить переменной д типа Дисплей объект, который нам пришлет метод Display.getDisplay"
1
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
09.07.2018, 10:27
Цитата Сообщение от Welemir1 Посмотреть сообщение
d это переменная класса Дисплей
Display.getDisplay(this); - судя по всему возвращает объект класса Дисплей
он повторяется верно -мы пишем "присвоить переменной д типа Дисплей объект, который нам пришлет метод Display.getDisplay"
Спасибо!
0
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
16.07.2018, 14:06
Цитата Сообщение от Welemir1 Посмотреть сообщение
d это переменная класса Дисплей
Display.getDisplay(this); - судя по всему возвращает объект класса Дисплей
он повторяется верно -мы пишем "присвоить переменной д типа Дисплей объект, который нам пришлет метод Display.getDisplay"
У меня еще вопрос к вам

Java
1
2
3
4
5
6
7
8
MyClass obj1 = new MyClass("1");
MyClass obj2 = new MyClass("2");
 
MyClass.changeField(obj1);
MyClass.changeRef(obj2);
 
System.out.println(obj1.s);
System.out.println(obj2.s);
В "MyClass.changeField(obj1);" качестве параметра используется сам экземпляр. Чем это употребление отличается от употребления с "this"?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,698
Записей в блоге: 29
16.07.2018, 16:09
Vladimir1982, вообще один вопрос- 1 тема, такое тут правило
я не уверен что смогу объяснить тебе правильнее, чем уже написано в умных книгах
this это ссылка на самого себя, на тот объект, который вызывает действие. Если объекта нет, статический контекст, то и ссылку this использовать нельзя, тут надо на коде показывать, коего опять же много в книгах приводится.
Цитата Сообщение от Vladimir1982 Посмотреть сообщение
Чем это употребление отличается от употребления с "this"?
ничем, он принимает объект МайКласс, ему без разницы (методу) передадут туда отдельный объект или ссылку this, то есть на тот объект, который вызывает метод. Разница же тут в том, что в статическом контексте, где объекта нет, ссылку this ты не сможешь использовать.
0
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
16.07.2018, 16:47
Цитата Сообщение от Welemir1 Посмотреть сообщение
Vladimir1982, вообще один вопрос- 1 тема, такое тут правило
я не уверен что смогу объяснить тебе правильнее, чем уже написано в умных книгах
this это ссылка на самого себя, на тот объект, который вызывает действие. Если объекта нет, статический контекст, то и ссылку this использовать нельзя, тут надо на коде показывать, коего опять же много в книгах приводится.
Если было бы так понятно, я бы не спрашивал.

ничем, он принимает объект МайКласс, ему без разницы (методу) передадут туда отдельный объект или ссылку this, то есть на тот объект, который вызывает метод. Разница же тут в том, что в статическом контексте, где объекта нет, ссылку this ты не сможешь использовать.
Спасибо за разъяснения.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.07.2018, 16:47

Для чего нужен абстрактные классы/интерфейсы?
Для чего нужны абстрактные классы/интерфейсы? Уже устал лазить по форумам, везде довольно размытые ответы. Я понимаю, что абстрактный класс...

Для чего нужен метод dispose()?
Для чего нужен метод dispose()? Чем можно заменить оператор & в условном операторе если в условии есть: if...

Для чего нужен Seed() и для чего его override?
Привет, ребята. Прочитал много разных статей про Seed(). И так и не могу понять зачем он нужен на практике. Вот выдержка одной из...

Для чего нужен с++?
Я школьник, мне 16 лет, учусь в 10 классе, планирую поступить на факультет защиты информационных технологий. Сейчас начал изучать с++, не...

Для чего нужен C#?
Для чего нужен C#? На чем луче писать интернет-приложения и Online игры?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru