我想用实用程序方法创建一个类,例如
public class Util {
public static void f (int i) {...}
public static int g (int i, int j) {...}
}
创建实用程序类的最佳方法是哪一种?
我应该使用私有构造函数吗?
我应该将实用程序类设为抽象类吗?
我应该什么都不做?
对于Java中完全无状态的实用程序类,我建议将该类声明为public
和final
,并具有一个私有构造函数以防止实例化。的final
关键字,可避免子类,并且可以在运行时提高工作效率。
该类应包含所有static
方法,并且不应声明abstract
(因为这意味着该类不是具体的,必须以某种方式实现)。
应该给该类一个与其所提供的实用程序集相对应的名称(如果该类将提供各种未分类的实用程序,则为“ Util”)。
除非嵌套类也将成为实用程序类,否则该类不应包含嵌套类(尽管这种做法可能很复杂并且会损害可读性)。
类中的方法应具有适当的名称。
仅由类本身使用的方法应该是私有的。
该类不应具有任何非最终/非静态类字段。
该类也可以由其他类静态导入,以提高代码的可读性(但这取决于项目的复杂性)。
例:
public final class ExampleUtilities {
// Example Utility method
public static int foo(int i, int j) {
int val;
//Do stuff
return val;
}
// Example Utility method overloaded
public static float foo(float i, float j) {
float val;
//Do stuff
return val;
}
// Example Utility method calling private method
public static long bar(int p) {
return hid(p) * hid(p);
}
// Example private method
private static long hid(int i) {
return i * 2 + 1;
}
}
也许最重要的是,每种方法的文档都应该准确且具有描述性。此类中的方法很有可能会被经常使用,并且拥有高质量的文档来补充代码是件好事。
问题内容: 已关闭 。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗? 更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 我有一个打算用作实用程序文件的文件。该文件应包含许多静态方法。 我应该这样在类中定义方法吗: 或像这样使用它(不带类): 问题答案: 第二个选项是Python中的操作方法。我的意思是,如果您要做的只是导入函数,那么您可以执行以下操作:
我正在研究NFC应用程序。当我打开应用程序并从NFC标签读取信息时,活动打开哪个注册了意图过滤器,这将打开一个已经打开的应用程序的新实例。如何关闭应用程序的上一个实例或打开应用程序的上一个实例。 请帮帮我,抱歉英语不好。。提前谢谢。
问题内容: 我需要创建一个JavaScript库,该库将从其他JavaScript代码中调用。 是否可以使用GWT和Java类创建javascript库?没有入口点,没有UI- 只是一些带有公共静态和对象方法的实用javascript类(例如,加密库,图像处理库,用户输入验证库等)? 任何其他从Java到javascript的转换工具都很好。 问题答案: 是的,可以编写页面上其他JavaScrip
本文向大家介绍rails创建应用程序实例,包括了rails创建应用程序实例的使用技巧和注意事项,需要的朋友参考一下 安装了Rails框架之后,你同时也得到了一个新的命令行工具:rails。这个工具可以用于构造每个新的Rails应用程序。 为什么我们需要这么一个工具——我是说,为什么不抄起最顺手的编辑器,从头开始编写应用程序的每行代码呢?呃……我们确实可以这样做,但Rails可以在 幕后变很多戏法,
问题内容: 我正在将中型Java应用程序的构建从Ant迁移到Maven。我可以轻松迁移基本的构建内容,但是我也想从Maven构建中创建安装程序包。最简单的方法是通过Ant插件调用原始的Ant脚本,但我想也许我应该先看看Maven的支持。 我需要为不同的平台创建几个不同的安装程序: Windows 32/64位 Linux 32/64位 MacOS 32/64位 现在对于Linux,我认为我们只有一
问题内容: 我正在用Java编写软件,我快要完成了,我想知道我们如何创建一个可以工作30天的试用版,因为我会将其发送给一些公司 因此,如何使其像共享软件或试用软件一样,我们还能阻止对jar文件中的.class的访问吗? 谢谢 问题答案: 有一种名为Rampart的产品,可让您为Java应用制作试用版。只需几分钟,效果很好。 您可以在http://Rampartlicensing.com上找到它