【问题标题】:how to best make a static method for an object variable如何最好地为对象变量创建静态方法
【发布时间】:2013-09-30 07:09:05
【问题描述】:

我有两个 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上做过很多。

【问题讨论】:

标签: java static static-methods


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 2012-05-18
      • 2015-06-26
      相关资源
      最近更新 更多