java中的会话变量

java中的会话变量,java,session,global-variables,Java,Session,Global Variables,我是Java新手,这就是为什么我的问题听起来奇怪而愚蠢的原因。但无论如何,我有几个扩展JFrame的forms类。我想要的是有一个变量,可以以各种形式读写。当我创建一个接口并在我的表单中实现它时,接口的所有变量都可以在表单中访问,但只能用于读取,我不能为它们分配新的值 问:在java中有可能做到这一点吗?如果是,那么如何?接口没有变量,它们只有最终成员,即常量。你可以用一个类替换接口,然后你就可以访问感兴趣的类成员。听起来你要么想要一个单例,要么想要一个具有一堆静态属性的类 要记住的主要一点是,

我是Java新手,这就是为什么我的问题听起来奇怪而愚蠢的原因。但无论如何,我有几个扩展JFrame的forms类。我想要的是有一个变量,可以以各种形式读写。当我创建一个接口并在我的表单中实现它时,接口的所有变量都可以在表单中访问,但只能用于读取,我不能为它们分配新的值


问:在java中有可能做到这一点吗?如果是,那么如何?

接口没有变量,它们只有最终成员,即常量。你可以用一个类替换接口,然后你就可以访问感兴趣的类成员。

听起来你要么想要一个单例,要么想要一个具有一堆静态属性的类


要记住的主要一点是,如果有多个线程访问全局属性,则需要同步访问。

在Java接口中,只有最终成员。这意味着这些成员是最终的。很可能您无法扩展类,因为表单类正在扩展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
}

希望这有帮助

没有更多信息,我的玻璃球说在interface@vickirk. 如果你能给出关于你的观点的简短代码,我非常感谢。但是我的类扩展了JFrame,不能扩展你所说的第二个类,如果我没有弄错的话。使用委托,只需从类中调用委托方法即可。