У меня есть класс Java, в котором каждый метод был определен как static
. Чтобы мне не пришлось переписывать класс, а затем добавить хороший код, который зависит от него, я добавляю некоторые сообщения об ошибках через переменную экземпляра. Тем не менее, Java не может получить доступ к переменным экземпляра из методов класса. Я прочитал описание Sun переменных класса и опасаюсь просто изменить каждый метод на метод экземпляра в этом классе без лучшего понимания того, как он будет работать в веб-приложении.
Согласно ( 1 ), насколько я понимаю, методы класса совместно используют одну и ту же область памяти для всех экземпляров объекта. Итак, не означает ли это, что в веб-приложении каждый процесс ссылается на один и тот же адрес памяти для статического метода? И, в свою очередь, каждый процесс будет переопределять все методы экземпляра?
Если бы я создал переменную класса для отслеживания ошибок, разве это не привело бы к ситуации, когда процесс A мог вызвать ошибку в процессе B? Могут ли методы экземпляра обращаться к переменным класса?
Edit:
Позвольте мне уточнить, что я пытаюсь выполнить с помощью некоторого примера кода.
Во-первых, мой класс:
public class MyClass {
public int error = 0;</p>
<p>public String methodA() {
// Do some stuff
if (ret == null) this.error = 1;
return ret;
}</p>
<p>public static boolean methodB() {
// Same thing but I can't access this.error here
}
}
Теперь моя заявка:
MyClass myClass = new MyClass();
String aString = myClass.methodA();
if (myClass.error != 0) {
out.print("What did you do!?");
return;
}