![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
sidiakin |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 16.10.2005 Репутация: нет Всего: нет |
В книгах по созд. оъектов пишут так:
А вот пример апплета:
Объясните пож., почему myImage не создается с опер. "new" ? |
||||
|
|||||
Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 6 Всего: 16 |
Потому что Вы его так просто не получите. Image абстрактный класс, создается где-то в недрах через невидимых Вам наследников.
Создать напрямую Вы можете BufferedImage, но там надо точно знать, что именно Вы создаете - вариантов параметров много. |
|||
|
||||
ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 4 Всего: 28 |
-------------------- Aut viam inveniam aut faciam |
|||
|
||||
sidiakin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 16.10.2005 Репутация: нет Всего: нет |
Вряд ли вопросы отпадут.
А можно по подробней про справку? Научите пользоваться. В справке видно, что это класс Image унаследован от Object и имеет конструктор Image(). Что мне там должно стать понятно? С объектами никак не разберусь Вот пример: MyThread thread1 = new MyThread(5); new MyThread(10); Первый вариант записи мне понятен, а второй нет. Оператор new созд. экз. класса и возвращает ссылку на него. Что он созд. за экземпляр и куда он передает ссылку во втором примере мне не понятно. Кстати мне не понятна такая запись getMethod(new Object) может тут ссылка и передается напрямую методу, но опять получается, что создается безымянный объект??????? Это сообщение отредактировал(а) sidiakin - 15.7.2010, 21:43 |
|||
|
||||
ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 4 Всего: 28 |
Смотрите на модификатор класса который указан как abstract - то есть он не может создаваться напрямую - создается его наследник BufferedImage() для него и писан конструктоh Image() Это всего лишь означает - что ссылка на объект никого не интересует. Объект создается и дальше живет уже сам. В случае с MyThread это видимо имеется ввиду, что в конструкторе MyThread запускается Thread - соответственно дальнейшая жизнь течет в методе Thread.run() Тут песня совсем простая. getMethod() очевидно берет в качестве параметра Object. Есть случаи когда хранить этот объект в локальной переменной совершенно лишено смысла - ну и зачем, создали, передали, а там в нутрях getMethod() сам уже разберется. Вообще начните писать, хватит читать доки - видно, что уже сильно увлеклись чтением книжек. Как только начнете писать что-нибудь реальное все сразу станет на свои места Тот же вопрос с созданием объекта класса Image в реальной жизни решается быстро - напустите компилятор на выражение:
и будет вам щастье ![]() Это сообщение отредактировал(а) ivanovpv - 16.7.2010, 07:28 -------------------- Aut viam inveniam aut faciam |
|||
|
||||
sidiakin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 16.10.2005 Репутация: нет Всего: нет |
Чтобы начать писать, нужно понимать. Конечно я пробую писать но...
Вот хотел сделать что-то вроде замера времени выполнения программы:
Прога всегда выдает "0". И компилятор пишет Java uses or overrides a deprecated API. Что это значит? Объект Date и getSeconds - это же родные для Java Так почему же компил. на них возмущается? |
|||
|
||||
soulcub |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: нет Всего: 2 |
Я так думаю, что это он не возмущается, а всего лишь говорит, что этот метод устарел и вместо него лучше использовать что-то другое, но это ничего страшного.
Так - всё начинает работать. По-моему этот класс в себе хранит время своего создания.. Если я не ошибаюсь конечно) Но могу и ошибаться. Давно не работал с ним =) Если нужно замерить время работы программы, то я всегда пользуюсь
Это сообщение отредактировал(а) soulcub - 16.7.2010, 20:11 --------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
||||
|
|||||
sidiakin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 16.10.2005 Репутация: нет Всего: нет |
nanoTime в моей 1.4.2 нет. Я нашел currentTimeMillis. А почему первый вариант не работал я так и не понял. Вы про какой класс говорили? В sec1 и в sec2 записывались нормальные значения, а операция sec2-sec1 не работает??? И почему проблема решается созданием второго экземпл. я не понял
|
|||
|
||||
soulcub |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: нет Всего: 2 |
Не второго экземпляра, а нового(обновлённого) экземпляра первого класса.
То-есть
этот getSeconds вернёт нам значение секунд в момент создания класса Date d = new Date(); И все последующие getSeconds вернут нам то же значение секунд - время создание объекта d. Для того, чтоб получить новое значение секунд - нужно обновить этот класс.
мы просто поверх создаём по-новому объект d, затирая старые значения и присваивая уже новые значения времени. Таким образом мы можем получить время роботы программы. Это сообщение отредактировал(а) soulcub - 16.7.2010, 21:27 --------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
||||
|
|||||
sidiakin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 16.10.2005 Репутация: нет Всего: нет |
Подскажите пож. запись вида: "int i = Integer.valueOf(b).intValue();" что делает? Integer - это класс и вызывается метод valueOf() для преобразования строки в число int. Я правильно понял? А intValue зачем?
Спасибо |
|||
|
||||
ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 4 Всего: 28 |
Надо всегда смотреть доки: 1) Integer.valueOf(b) - преобразует строку в объект Integer 2) Integer.intValue() - возвращает целочисленное значение объекта Integer В целом такой кусок кода это попытка преобразовать String в int -------------------- Aut viam inveniam aut faciam |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |