Вопрос № 179939: Здравствуйте, эксперты. У меня к вам 2 вопроса по поводу new. 1. Зачем надо использовать new, и чем отличается String person1 = "Boris"; от String person2 = new String("Anna"); 2. Почем...
Вопрос № 179939:
Здравствуйте, эксперты. У меня к вам 2 вопроса по поводу new.
1. Зачем надо использовать new, и чем отличается String person1 = "Boris"; от String person2 = new String("Anna");
2. Почему в данном массиве нужно использовать new для массива и для каждого конкретного элемента?
Код:
class person { person (String) {...} void SetName(String) {...} ... }
// Program: { person workers[] = new person[100];
for(int i=0; i<100; i++) person[i] = new person(name); // Почему без new не работает? (person[i].SetName(name);) }
вкратце суть заключается в том, что при помощи ключевого слова new объявляется экземпляр класса в вашем случае person (2й пример) или стандартного класса String (person2 = new String("Anna");).
Стандартные классы (такие, как String) - это в объектной модели документа аналог традиционного строчного типа переменной.
но при помощи new также объявляются экземпляры пользовательских классов (напр. class person {...)
----- If each of us have one object, and we exchange them, then each of us still has one object. If each of us have one idea, and we exchange them, then each of us now has two ideas. (с)перто.
Ответ отправил: Волков Алексей aka Lupo, 5-й класс
Ответ отправлен: 16.09.2010, 09:27
Номер ответа: 263073
Оценка ответа: 3
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 263073
на номер 1151 (Россия) |
Еще номера »
Отвечает Ivol84, 5-й класс :
Здравствуйте, Иванов Андрей Владимирович. Давайте разбираться по частям: 1) Когда вы пишете String person1 = "Boris"; механизм Java автоматически создает объект типа String (заменяет код на String person1 = new String("Boris");). В данном случае 2 записи по функционированию не отличаются. Оператор new вообще нужен для создания объекта класса (выделения памяти под объект). 2) Здесь вопрос немного перекликается с первым: Для массива необходимо использовать new, т.к. массив в
Java это объект. Точно по той же причине необходимо использовать new для создание элементов массива (person должен быть объектом).
Ответ отправил: Ivol84, 5-й класс
Ответ отправлен: 17.09.2010, 16:14
Номер ответа: 263088
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 263088
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.