Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何最好地为对象变量创建静态方法_Java_Static_Static Methods - Fatal编程技术网

Java 如何最好地为对象变量创建静态方法

Java 如何最好地为对象变量创建静态方法,java,static,static-methods,Java,Static,Static Methods,我有两个java类,一个叫做多线程,另一个叫做ConnectionUtility,我想创建一个静态函数,这样我就可以将文本设置到两个类中任意一个的textfield,从ConnectionUtility类访问textfield很容易,只需使用.setText(“textToShow”) 然而,使用另一个类中的方法时,每次使用静态方法时,我都必须实例化一个ConnectionUtility对象,这听起来像是浪费资源,因为在Android或Java中创建对象的成本很高。有没有比这里的例子更好的方法?

我有两个java类,一个叫做多线程,另一个叫做ConnectionUtility,我想创建一个静态函数,这样我就可以将文本设置到两个类中任意一个的textfield,从ConnectionUtility类访问textfield很容易,只需使用.setText(“textToShow”)

然而,使用另一个类中的方法时,每次使用静态方法时,我都必须实例化一个ConnectionUtility对象,这听起来像是浪费资源,因为在Android或Java中创建对象的成本很高。有没有比这里的例子更好的方法?这个例子是不是对资源的滥用

public static void printOutText(String string){
    ConnectionUtility cu = new ConnectionUtility();
    cu.jTextField1.setText(string);
    cu = null;
}
编辑:问题的部分情况是我希望避免使jTextField1对象成为静态的。对于这种情况,它只能是类成员变量


编辑二:我忘了提到,这是一个Java桌面应用程序,不是Android应用程序。我的错误是没有说清楚。我更习惯Android,以前在Java JFrame中做得不多。

也许你应该使用处理程序和消息传递。这里有一个很好的例子:


这里有一些关于的讨论。我认为,尤其是在桌面环境中,您不应该太担心实例化对象。毕竟,您需要使用面向对象编程语言。如果将所有内容都简化为静态实现,那又有什么用呢?这将导致用oo语言编写过程代码

在大多数情况下,性能问题实际上来自算法的错误选择,而不是使用本机语言特性。如果您真的面临该级别的性能问题,您应该考虑改用C/C++。

使用应用程序类