0

我有两个 java 类,一个叫做 MultiThreader,另一个是 ConnectionUtility,想要创建一个静态函数,这样我就可以在两个类中的任何一个中将文本设置为文本字段,从 ConnectionUtility 类访问文本字段很容易,只是使用 .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方面做得不多。

4

2 回答 2

0

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

http://www.vogella.com/articles/AndroidBackgroundProcessing/article.html

于 2013-09-30T07:14:23.570 回答
0

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

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

于 2013-09-30T08:22:03.553 回答