c#:为什么要将方法设为public static

时间:2017-02-27 17:06:51

标签: c#

我模仿了以下我继承的东西并正在升级。你所看到的实际上就像我正在做的那样简单。为什么要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。

1 个答案:

答案 0 :(得分:-3)

在显示的代码中,静态确实没有增加太多价值。只需做一个new obj。在这种情况下,obj.makeAnObj()只是新obj()的别名。我更喜欢后来的