【发布时间】:2017-01-25 21:32:39
【问题描述】:
我了解到,new 是创建对象所必需的。那么,这行代码(来自 java swing)是如何工作的?
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
【问题讨论】:
-
它正在调用一个方法。该方法中的某些内容知道如何检索或创建
GraphicsEnvironment对象并将其返回给您。该方法负责对象的制作方式;你不是在创造它。 -
你不是在创建一个对象;那个函数是。
-
所以GraphicsEnvironment类必须有一个'static'修饰符,因为只有静态类的方法可以直接使用类名来调用。
-
@trotsky 不行,只能使用类名直接调用静态方法。
-
这是一个名为“工厂模式”的设计模式示例