Довольно распространенная проблема, с которой я сталкиваюсь, это когда у меня есть несколько полей, и я хочу сослаться на них через класс, который является производным , инициализированным из класса полей.
Позвольте мне быть более конкретным.
У меня есть три класса, производные от основного класса.
У каждого класса есть метод, который взаимодействует с полем. В этом случае есть JFrame, который вызывает класс (JPanel) и добавляет его на панель содержимого.
Я нашел способ передачи ссылки на объект, который создает класс Frame, в конструктор класса Panel. И ссылаться на них через это.
Есть ли более эффективный способ? Как я могу создать глобальные поля или методы для всех производных классов? В этом случае они являются компонентами основного класса?
UPDATE
Примерно так.
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JFrame1 extends JFrame {
protected String field1;
protected String field2;
public JFrame1() {
add(new Panel1());
}
}
class Panel1 extends JPanel {
public Panel1() {
// field1 = "String"; Wrong
}
}
Я знаю, что могу вложить class Panel1
внутрь public class Frame1
, и проблема будет решена, но что если Я хочу два класса в разных файлах ?