Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Маленький тест, :) 
:(
    Опции темы
LSD
Дата 21.5.2007, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(powerOn @  21.5.2007,  18:19 Найти цитируемый пост)
такой код тоже не компилируется:
...

Гы smile Еще бы он компилировался, там же идет присвоение вне тела метода smile

А вообще задачка чума! Мне очень понравилась!

P.S. А ты столкнулся с такой проблемой на практике или после чтения документации?



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
powerOn
Дата 21.5.2007, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Цитата(LSD @  21.5.2007,  23:32 Найти цитируемый пост)
P.S. А ты столкнулся с такой проблемой на практике или после чтения документации?


У нас в конторе когда у новобранцев истекает испытательный срок их тестируют - проверяют полученные знания. Я готовил тест к одному из таких тестировании - писал тестовые задачи. Когда дошёл до заданий по инициализаторам, то случайно наткнулся на "Illegal forvard reference" в аналогичной ситуации, что выше описал. Полез копать документацию - а там и впрямь "Illegal forvard reference". smile Вот так мы и познакомились smile



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Samotnik
Дата 25.5.2007, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



2 LSD
ПРИВЕТ!!


Цитата(LSD @  15.5.2007,  22:39 Найти цитируемый пост)
Чумовая задачка! 

Просьба до конца недели не говорить ответ (если конечно никто не догадается)  


А че за задачка, мона мне условие, я тож хочу решить


Пэ.Эс.
Решение я не смотрел, честно smile 
PM MAIL   Вверх
LSD
Дата 26.5.2007, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Samotnik @  25.5.2007,  22:43 Найти цитируемый пост)
А че за задачка, мона мне условие, я тож хочу решить

Вот (в следующих постах условие немного уточняется).


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Samotnik
Дата 26.5.2007, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



2 LSD
Спаибки ща порешаю.

Пэ.Эс.
Слушай, открой мне тайну, как на слово поставить ссылку??? smile  Как у тя на слово Вот
   Просто я пробывал html код,  дык не памагает  smile 
PM MAIL   Вверх
LSD
Дата 26.5.2007, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Для этого есть кнопка ссылка, нажимаеш ее и вводишь URL, а потом описание к нему и в результате получаешь:
Код
[url=http://forum.vingrad.ru/]Форум Винград[/url]

ну или проделываешь это руками smile


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Samotnik
Дата 26.5.2007, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



2 LSD
Пасипки  большое, запомню!

Ищу тебя

Добавлено через 3 минуты и 2 секунды
гы smile   smile   smile   smile   smile   smile   smile   smile  
работает!!
еще раз спасибо!  smile   smile   smile  
PM MAIL   Вверх
Orange
Дата 18.10.2007, 16:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 6.9.2004
Где: Russia, Moscow

Репутация: 4
Всего: 5



Заранее извиняюсь если тут уже было, но.. сломал себе голову!!!
Код

interface Foo {
  String x = Bar.x+"f";
}
interface Bar  {
  String x = Foo.x+"b";
}

public class Test {
  public static void main (String[] args) {
    System.out.println("Foo.x="+Foo.x+", Bar.x="+Bar.x);
  }
}

Поясните ход вашей мысли?))
--------------------
Пару дней назад я познакомился с мальчиком......
PM MAIL ICQ   Вверх
LSD
Дата 18.10.2007, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Я угадал что будет smile

Вначале вызывается загрузка класса Foo, вначале все его поля инициализируются null-ами, затем в процессе присваивания им значений происходит загрузка Bar, у него в процессе присваивания полям значений происходит обращение к полю Foo.x, поскольку класс Foo уже инициализируется, повторная инициализация не происходит, а просто берется значение null. На этом инициализация Bar завершается и Bar.x получает значение nullb, после чего завершается инициализация Foo и Foo.x получает значение nullbf.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Royan
  Дата 22.10.2007, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 3
Всего: 15



Вот такая задачка

Код

interface I {
    void foo();
}

class A {
    void foo() {}
}

class B extends A implements I {

}


Скомпилируется ли данный код?


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
Maksym
Дата 22.10.2007, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 14
Всего: 62



Royan
Интуитивно нет, метод унаследованный от класса, не реализующего этот интерфейс, вряд ли можно считать реализацией интерфейса. На лицо "случайное" совпадение имен, компилятор должен пресечь на корню во избежание путаницы.. Пошел проверять..

Добавлено через 4 минуты и 48 секунд
Эээ.. вроде угадал правильно... но объяснение компилятора чуть по запутаннее моего...
PM MAIL   Вверх
batigoal
Дата 22.10.2007, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Цитата(Maksym @  22.10.2007,  12:57 Найти цитируемый пост)
Интуитивно нет, метод унаследованный от класса, не реализующего этот интерфейс, вряд ли можно считать реализацией интерфейса.

Если добавить к объявлению foo() модификатор доступа public, то всё прокатывает.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
LSD
Дата 22.10.2007, 15:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Maksym @  22.10.2007,  12:57 Найти цитируемый пост)
Эээ.. вроде угадал правильно... но объяснение компилятора чуть по запутаннее моего...

Объяснение на самом деле другое smile 

Все дело в том, что класс A декларирует метод foo() как package private, а интерфейс I требует чтобы он был public. Надо или в классе A объявить метод foo() как public или в классе B переопределить его как public.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Royan
Дата 22.10.2007, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 3
Всего: 15



LSD, Совершенно верно smile


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
Maksym
Дата 22.10.2007, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 14
Всего: 62



LSD
batigoal
Royan
Страх и ужас  smile  Брать реализацию интерфейса из класса предка, не реализующего этого интерфейса... можно, конечно, придумать какой-нибудь паттерн, который будет использовать этот прием. Но сама идея мне хорошей не кажется, до всяких коллизий можно доиграться. 
Будь я компилятором я бы такое запрещал  smile   smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1081 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.