Довольно распространенная проблема, с которой я сталкиваюсь, - это то, где у меня есть некоторые поля, и я хочу ссылаться на них через класс, который является , производным, инициализированным из класса полей. Позвольте мне уточнить.Глобальные поля для классов
У меня есть эти три класса, который унаследован от основного класса. Каждый класс имеет метод, который взаимодействует с полем. В этом случае a имеет 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
и проблема будет решена, но что, если я хочу двух классов в разных файлах?
что вы имеете в виду _derived_? –
@Qwe Я имел в виду, что они созданы/инициализированы/вызваны. Я не знаю точного слова, которое я должен использовать. –
easies должны были написать, что, отвечая на ваш вопрос, пожалуйста, отредактируйте свой вопрос с помощью [SSCCE] (http://sscce.org/), в противном случае есть некоторые веб-страницы, на которых вы можете отправить заказ, основанный на картинке с платежами – mKorbel