它们是否具有Java中的C#静态类?
我想创建一个C#静态类但是在Java中,我该怎么做?
感谢您的帮助。
编辑:谢谢你的帮助。 :)答案 0 :(得分:17)
Java类中有静态成员,但没有静态类,如C#。
从使用的角度来看,C#静态类修饰符并没有真正改变关于类的任何内容。它只会阻止您在编译时添加实例变量。
通过将每个成员声明为静态,您可以在Java中创建一个类似于C#静态类的类。有关详细信息,请参阅“Understanding Instance and Class Members”的教程部分。
答案 1 :(得分:8)
没有。只需标记一切静态。可能会添加一个私有构造函数,它会抛出错误并生成类final
。
答案 2 :(得分:0)
在每种OO语言中,静态类声明的一个好的(更灵活的)替代方法是使用单例模式。
但是,如果您的类是纯实用程序类,则可以将所有成员/方法声明为静态。
答案 3 :(得分:0)
尝试一下:
public class Util
{
// final prevents inheritance, just like C# static classes can't be inherited
// final is basically like the C# sealed keyword.
public static final class Math
{
// prevent constructor from being called
private Math(){}
static
{
// Acts like a C# static constructor. (only runs once, )
}
public static int Add(int num1, int num2)
{
return num1+num2;
}
}
}