Это должно быть относительно прямым, но я все время забочусь о SQL-информации при поиске справки.
В основном у меня есть 3 класса, и каждый из них генерирует число, и я хочу получить общее число в конце. Есть ли способ сделать переменную, которую могут добавить все 3 класса без создания базы данных SQLite?
пример
Page1.java создает 5 → добавляет к Total
Page2.java создает 12 → добавляет к Total
Page3.java создает 10 → добавляет к Total
Страница4.java открывает общий
Как я уже сказал, это, скорее всего, простая проблема, но SQLite доминирует над моими поисками.
Надеюсь, ты поможешь, спасибо.
Вы можете использовать для этого статическую переменную. Если вам не нужна инкапсуляция, вы можете использовать одну единственную публичную статическую переменную для этой цели.
Пример:
private static int mCounter = 0;
public static void addToCounter(int i)
{
mCounter += i;
}
public static int getCount()
{
return mCounter;
}
То, что вы могли бы сделать, было бы иметь частное значение, скажем, private int count
в каждом из вашего класса и его соответствующего получателя. Тогда у вас также будет метод в каждом классе, скажем, public void doSomething(){... count =...}
.
После того как вы все это, в Page4
вы могли бы сделать что - то вроде:
public class Page4 {Page1 pg1 = new Page1(); Page2 pg2 = new Page2(); Page2 pg2 = new Page2(); Page3 pg3 = new Page3(); Page3 pg3 = new Page3();
pg1.doSomething();
pg2.doSomething();
pg3.doSomething();
int total = pg1.getCount() + pg2.getCount() + pg3.getCount();
pg1.doSomething();
pg2.doSomething();
pg3.doSomething();
int total = pg1.getCount() + pg2.getCount() + pg3.getCount();
} }
С другой стороны, вы можете передать целочисленную переменную классу, который будет изменен и передан следующему классу.
Вы также можете передать ссылку на какой-либо класс, который содержит фактический счетчик, и как только каждый класс (Page1
, Page2
) завершит выполнение того, что ему нужно, он просто ссылается на этот класс и обновляет его.
Не ясно, как вы называете свои занятия.
Однако, если у вас есть только 3 простых класса и одно место для вызова классов, вы можете передать свою переменную между классами и добавить к ней значения.
public class Page1 {
public void addToVariable(int var) {
var = var + 5;
}
}
public class Page2 {
public void addToVariable(int var) {
var = var + 12;
}
}
...
А затем вызовите методы класса с помощью переменной:
int yourVariable = 0;
Page1 p1 = new Page1();
Page2 p2 = new Page2();
p1.addToVariable(yourVariable);
p2.addToVariable(yourVariable);
yourVariable
проведет общее количество, которое вы ищете.