2012-02-28 46 views
0

我是Java的新手,这就是为什么我的问题听起来很奇怪和愚蠢。但无论如何,我有几种形式(扩展JFrame的类)。我想要的是有一个可读取和写入所有形式的变量。当我创建一个接口并在我的窗体中实现它时,接口的所有变量都可以在窗体中访问,但仅用于读取,我无法为它们分配新值。java中的会话变量

问题:Java中可以这么做吗?如果是,那么如何?

+0

没有更多的信息我的玻璃球说在界面 – vickirk 2012-02-28 13:50:20

+0

@vickirk添加的setXXX方法。你能否以更详细的信息(我非常感谢你是否可以提供简短的代码)作为新的答案发表你的意见。 – Bakhtiyor 2012-02-28 13:56:50

回答

0

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

+0

但我的课程扩展了JFrame,并且无法扩展你讲述的第二课程,如果我已经弄明白你的意思了。 – Bakhtiyor 2012-02-28 13:52:34

+0

使用一个委托,只需调用该类的委托方法即可。 – vickirk 2012-02-28 13:55:49

0

这听起来像你想要一个单身人士或一个具有一堆静态属性的类。

要记住的主要事情是,如果您有多个线程访问“全局”属性是需要同步访问。

0

在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方法来保存这些变量。比如我使用了一个名为亚军执行Java类应用 -

class Runner{ 
String name; 
public static void main(String[] args) { 
    setName("Dchan"); 
    System.out.println(getName()); 
} 
//getter/setter 
} 

希望这有助于