Что происходит в этих трех строках кода java? (распишите подробно) - Вопросы по Java

Вопрос Что происходит в этих трех строках кода java? (распишите подробно)

Регистрация
28 Авг 2013
Сообщения
91
Репутация
0
Спасибо
0
Монет
0
public String Name; - ( модификатор открытого доступа переменной )

public void setName (String n) {name = n;}; - ( метод set указывает на строковое значение переменной n? зачем создается внутри метода n? )

public String getName() {return name;};
 
Регистрация
30 Июн 2013
Сообщения
99
Репутация
0
Спасибо
0
Монет
0
что объяснять то...
поле в классе, сеттер и геттер для поля.
вся история.
 
Регистрация
5 Фев 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
public String Name;:
Объявляется переменная с именем Name типа String.
Модификатор public обеспечивает доступ к переменной из любого места программы.
public void setName(String n) { name = n; };:
Объявляется метод setName с аргументом n типа String.
Внутри метода значение аргумента n присваивается переменной Name.
n – локальная переменная, используемая для передачи значения в метод.
public String getName() { return name; };:
Объявляется метод getName без аргументов, возвращающий значение типа String.
Метод возвращает текущее значение переменной Name.
 
Регистрация
25 Июл 2013
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
Перекомпилируй в смали, и я объясню. Да, ответ ниже прав: строка name равна символу n (в компилированном виде это нужно для взаимодействия ресурсов с кодом, но не обязательно именно так) перевели в n-регистр текстовое поле, в методе Name формы стринга типа публик
 
Регистрация
21 Июл 2013
Сообщения
84
Репутация
0
Спасибо
1
Монет
0
Твой код, мягко говоря, странный. Если поле объекта public, то get* / set* не имеют смысла. Методы с префиксами get/set принято использовать для доступа к приватному полю - чтобы этот доступ контролировать. private String name; // создаём недоступное снаружи класса поле name

// создаём метод, отдающий текущее значение поля name
public String getName() { return name; }

// создаём метод, устанавливающий новое значение поля name
public void setName(String new_value) { name = new_value; } Соответственно, при работе с объектом этого класса: tmp = obj.getName(); // получаем значение поля name объекта obj и записываем его в переменную tmp

obj.setName(val); // записываем в поле name объекта obj значение переменной val В других языках есть специальные методы (геттеры и сеттеры), автоматически вызываемые при обращении к полю. А в Java приходится вот таким образом обходиться.
 

Похожие темы

Сверху Снизу