Сообщений: 1,058
Тем: 129
Зарегистрирован: May 2009
Репутация:
11,626
Как правильно вызвать любую переменну?
Вроде бы методы получается вызывать, а переменные - печаль...
мои попытки вызвать переменную из _power(getPower()) из L2Skill не увенчались успехом, 100% я д*лбаеб, но вопрос мучает, до 5 утра просидел, то одна ошибка, т овторая, скачал книги, сел читать, в 8 утра уже закончил с Ширлтом и продолжил по Эккелю, но скорее всего я что-то упустил!
Подскажите пожалуйста :ej:
Только не нужно кидаться тапками
Сообщений: 983
Тем: 11
Зарегистрирован: Mar 2010
Репутация:
11,535
Ну переменная там явно private\protected. // slowpoke :(
Сообщений: 104
Тем: 13
Зарегистрирован: May 2011
Репутация:
-16
Тяжел и долог твой путь. Может ты вызываешь пустую переменную. Надо писать какие там ошибки. Ну а вообще не обижайтесь, я вам не рекомендую заниматься программированием хотя бы потому, что вы не знаете английский. Считайте что английский неотъемлимая часть этого ремесла. Это потолок, дальше просто бесполезно займитесь лучше телом.
Сообщений: 1,640
Тем: 82
Зарегистрирован: Feb 2012
Репутация:
4,234
оф
Цитата:Тяжел и долог твой путь. Может ты вызываешь пустую переменную. Надо писать какие там ошибки. Ну а вообще не обижайтесь, я вам не рекомендую заниматься программированием хотя бы потому, что вы не знаете английский. Считайте что английский неотъемлимая часть этого ремесла. Это потолок, дальше просто бесполезно займитесь лучше телом.
Вы родились сразу с клавой в руках и книгой по Java в зубах ?
Сообщений: 104
Тем: 13
Зарегистрирован: May 2011
Репутация:
-16
GOODPower Написал:
оф
Вы родились сразу с клавой в руках и книгой по Java в зубах ?
А ваше мнение, уважаемый, хлоро не спрашивал.
Сообщений: 247
Тем: 3
Зарегистрирован: Feb 2012
Репутация:
1,300
finfan Написал:Как правильно вызвать любую переменну?
Вроде бы методы получается вызывать, а переменные - печаль...
мои попытки вызвать переменную из _power(getPower()) из L2Skill не увенчались успехом, 100% я д*лбаеб, но вопрос мучает, до 5 утра просидел, то одна ошибка, т овторая, скачал книги, сел читать, в 8 утра уже закончил с Ширлтом и продолжил по Эккелю, но скорее всего я что-то упустил!
Подскажите пожалуйста :ej:
Только не нужно кидаться тапками
1. К переменным обращаются, а не вызывают их;
2. "закончил с Ширлтом и продолжил по Эккелю". Судя по посту, это нужно интерпретировать так: "Я прочитал введение и решил, что этого хватит". Нужно читать дальше, там много интересной инфы :redlol:
3. В ООП существуют области видимости, прочитайте про это, да и в целом про ООП.
4. Самый простой пример:
Код: class Foo
{
public int bar = 0;
}
// Юзаем так
Foo obj = new Foo();
System.out.println(obj.bar);
и будет Вам счастье.
// aka Deft
Сообщений: 1,759
Тем: 13
Зарегистрирован: May 2011
Репутация:
3,205
Yorie Написал:1. К переменным обращаются, а не вызывают их;
2. "закончил с Ширлтом и продолжил по Эккелю". Судя по посту, это нужно интерпретировать так: "Я прочитал введение и решил, что этого хватит". Нужно читать дальше, там много интересной инфы :redlol:
3. В ООП существуют области видимости, прочитайте про это, да и в целом про ООП.
4. Самый простой пример:
Код: class Foo
{
public int bar = 0;
}
// Юзаем так
Foo obj = new Foo();
System.out.println(obj.bar);
и будет Вам счастье.
эм... Код: System.out.println(Foo.bar);
Сообщений: 183
Тем: 8
Зарегистрирован: Dec 2011
Репутация:
89
да все правильно было ) bar же не статическая
Сообщений: 2,455
Тем: 53
Зарегистрирован: Apr 2010
Репутация:
19,728
linliss Написал:эм... Код: System.out.println(Foo.bar);
Она не статична, не пойдет.
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Сообщений: 104
Тем: 13
Зарегистрирован: May 2011
Репутация:
-16
ASevenfold Написал:Она не статична, не пойдет.
Для тех, кто в танке:
Даже статичная переменная может вызвать исключения пакета java.lang даже при обычном одноподтечном программировании. Например, NullPointerException, UnsupportedOperationException или какой-нить еще.
Код: class HlorkaGood {
public static Object HLORA_IS_MY_FRIEND;
...
}
// Обращаемся к переменной
...
Object test = HlorkaGood.HLORA_IS_MY_FRIEND;
...
// Будет исключение NullPointerException
Поэтому что не инициализировали. Если переменная не константа, то должна иметь дефолтовое значени или полуконстанта (файл конфигурации), то используйте блоки static - это как аналог директивам Си.
Код: class HlorkaTheBest{
public static Object HLORA_IS_MY_FRIEND;
...
static {
HLORA_IS_MY_FRIEND = new String();
}
}
Для полуконстант, рекомендуется в блоке статик выполнять загрузку файла конфигурации. Если файл конфигурации имеет опии разработчика, то его как правила пихают в JAR-библиотеку, в последнем случае используют доступ к ресурсу по URL через статичный метод ClassLoader'а:
Код: InputStream s = ClassLoader.getResourceAsStream("org/mylib/test/hlorka.properties");
Тут есть 1 косяк, многие использую одноименный метод из собственного класса, т.е. HlorkaTheBest.getResourceAsStream(?), но в этом случае надо будет ставить еще 1 слеш в самом начале, иначе будет ругаться. что ресурс ненайден.
Также есть 1 удобный способ программирования, когда у вас конфиги имеют 1 тип данных, ну например все экземпляры типа String или int, то удобно запонять их из файла конфигураций через пакет Reflect, но эт уже совсем проффессионалы так делают. Это имеет смысл для каких-то текстовых сообщейни. А вообще не забывайте что в яве реализована возможность интернационализации через java.util.MessageBuilder, весьма удобно при написании мультиязычного приложения. Хотя это скорее локализация, чем интернационализация, т.к. последняя подразумевает не только смену языка.
|