我模仿了以下我继承的东西并正在升级。你所看到的实际上就像我正在做的那样简单。为什么要makeAnObj()
静态?静态提供或提供的不是静态的不是什么?
public interface IsomethingElse { int mbr(); }
public class obj : IsomethingElse {
public static obj makeAnObj() { return new obj(); }
public int mbr() { return 1; }
}
修改:我在下面的帖子中重复我的回复以获取更多背景信息。他的问题并不是所提到的问题的完全重复。我不是在问静态f()是什么。我的观点是,看看makeAnObj()的作用。我不需要一个方法来创建一个obj(除非该方法也会做更多的事情,在这种情况下,该方法不会在代码中添加任何附加值。)这个唯一的值static是程序员可以通过调用obj.makeAnObj()而不是new obj来创建实例;远不那么可读的IMO。
答案 0 :(得分:-3)
在显示的代码中,静态确实没有增加太多价值。只需做一个new obj
。在这种情况下,obj.makeAnObj()只是新obj()的别名。我更喜欢后来的