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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Class.forName() примерник работает не по книге 
V
    Опции темы
AugMaster
Дата 10.11.2012, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

Репутация: нет
Всего: 1



Здравствуйте. Изучаю Java по книге "Thinking in Java" 4ое издание
Столкнулся с непоняткой с примером книги (стр 355-356)
Код

package typeinfo;
import static myPack.print_.*;

class Candy {
    static {print("Загрузка класса Candy");}
}
class Gum {
    static {print("Загрузка класса Gum");}        
}
class Cookie {
    static {print("Загрузка класса Cookie");}
}

public class SweetShop {

    public static void main(String[] args) {
        print("В методе main()");
        new Candy();
        print("После создания объекта Candy");
        //Gum n = new Gum();//даже с раскомментированной строкой пишет "Класс Gum не был найден"
        try {
            Class.forName("Gum");            
        } catch (ClassNotFoundException e) {
            print("Класс Gum не был найден "+ e);
        }
        print("После вызова Class.forName(\"Gum\")");
        new Cookie();
        print("После создания объекта Cookie");
        

    }

}

вот что выводит :
В методе main()
Загрузка класса Candy
После создания объекта Candy
Класс Gum не был найден java.lang.ClassNotFoundException: Gum
После вызова Class.forName("Gum")
Загрузка класса Cookie
После создания объекта Cookie

по книге (да и по логике) должно подгружать класс Gum и выводить сообщение "Загрузка класса Gum" , также исключения не должно быть.
Единственное предположение которое у меня есть - может это быть из-за того что книга написана под jre5, а я использую jre6 ?
Может ли кто-то ответить на этот вопрос (гугл спрашивал, выводит примеры из книги, не более)

код print'а:
Код

package myPack;
public class print_ {
    public static void print(Object obj){
        System.out.println(obj);
    }
}


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


Новичок



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

Репутация: нет
Всего: 1



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

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

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


 




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


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

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