Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Java / JavaScript


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

vladisslav
Статус: 6-й класс
Рейтинг: 1227
∙ повысить рейтинг »
Botsman
Статус: Профессионал
Рейтинг: 814
∙ повысить рейтинг »
Палян Александр Михайлович
Статус: 6-й класс
Рейтинг: 309
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Java/JavaScript

Номер выпуска:678
Дата выхода:20.09.2010, 21:30
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:279 / 90
Вопросов / ответов:1 / 2

Вопрос № 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);)
}


Спасибо.

Отправлен: 15.09.2010, 21:01
Вопрос задал: Иванов Андрей Владимирович, 4-й класс
Всего ответов: 2
Страница вопроса »


Отвечает Волков Алексей aka Lupo, 5-й класс :
Здравствуйте, Иванов Андрей Владимирович.

вкратце суть заключается в том, что при помощи ключевого слова 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 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Отвечает 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 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.19 от 12.09.2010

    В избранное