我是Java新手,这就是为什么我的问题听起来既奇怪又愚蠢。但无论如何,我有几种形式(扩展JFrame的类)。我想要的是有一个变量,可以在所有形式下阅读和写作。当我创建一个接口并在表单中实现它时,该接口的所有变量都可以在表单中访问,但只能用于读取,我不能为它们分配新值。
问题:在java中有可能做到这一点吗?如果是,那么怎么做?
接口没有变量,它们只有final
成员,即常量。您可以用类替换接口,然后您就可以访问感兴趣的类成员。
听起来您想要一个singleton或一个具有一堆静态属性的类。
需要记住的主要一点是,如果有多个线程访问"全局"属性,则需要同步访问。
在Java中,接口只有final
成员。这意味着这些成员是最终成员。很可能您无法扩展类,因为Form类正在扩展JFrame。这里要使用的一个选项是拥有一个中间继承类。看下面的例子。
class intermediateClass extends JFrame{
//some code if any
String name;
//Getter/Setter
}
class yourForm extends intermediateClass{
public yourForm(){
setName("Ddd");
System.out.println(getName());
}
}
但我个人不会推荐它。我宁愿建议你使用不同的类——特别是你的类,它带有Main方法来保存这些变量。例如,我使用一个名为Runner的类来执行Java应用程序-
class Runner{
String name;
public static void main(String[] args) {
setName("Dchan");
System.out.println(getName());
}
//getter/setter
}
希望这能帮助