Сообщение от Phantom_wc
Блин, а что делать, если мне нужно глобальную переменную использовать? Ну я не знаю, как это в Джаве называется. То есть мне нужно в либе сделать несколько функций/процедур, которые будут использовать одни и те же переменные. Можно, конечно, сделать, чтобы функции возвращали значения, которые потом использовались бы в других функциях путём явной передачи их туда. Но дело в том, что там функция возвращает не одну переменную, а несколько. Может можно сделать что-то типа массива или... я даже не знаю. Чтобы в одной переменной сразу кучу передавать.
- - -
У меня класс есть, я его хотел подключить к мидлет паскалю хитрым способом. Типа написать либу, которая будет к тому классу обращаться по-мидлетпаскалевски, все процедуры объявил статичными, а при компиляции мне выдало, что те функции, к которым я пытаюсь обратиться из либы не являются статичными. То есть что, получается, я не могу из статичной функции одного класса обратиться к нестатичной функции другого класса? О_о Как выходить из такой ситуации?
- - -
В мидлет паскале можно создавать комбинированный тип данных. Полагаю, что это может пригодится, но как его связать с джавой?
- - -
P.S: подозреваю, что я опять всё напутал и вместо слова "функция" следовало употреблять слово "метод" =)
|
Глобальные переменные нужно делать статичные, но и процедуры при этом должны быть тоже статичные. Типа так:
class Lib_test
{
public static int a;
public static int b;
public static String s; // Глобальные переменные
public static void Function1() // Пример функции
{
a = 1; b = 3; s = "Ok";
}
public static int Function2() // Другой пример функции
{
a += b;
return a;
}
}
Другой пример. Как из статической функции одного класса вызывать нестатическую функцию из другого класса. Допустим у тебя есть класс:
class MyClass
{
public int a;
public int b; // какие-то переменные
public void Function1()
{
a = 5;
}
public int Function2()
{
return a;
}
}
Ясно, что из MP ты к этим функциям не обратишься т.к. они не статичные. Тогда пишем небольшую библиотеку со статичными функциями, которая и будет вызывать наши нестатичные функции.
class Lib_test
{
public static MyClass my;
public static void Function1()
{
my.Function1();
}
public static int Function2()
{
return my.Function2();
}
}