如果'构造函数'在我们创建对象时分配内存并初始化实例变量,那么为什么要说 Object o = new Object();?为什么不 Object o = Object();呢?
新运营商究竟做了什么?
构造函数仅初始化预先存在的对象.告诉构造函数和方法调用之间区别的方法是new关键字.例如,您可以Object在类中调用一个方法,Object但这可能不会创建任何内容.当你有子类时,这更令人困惑.
class A {
A() { } // constructor
static A A() { return new A(); } // method
static A B() { return new A(); } // method
}
class B extends A {
B() { }
}
A b = new B(); // creates a B
A a = B.B(); // creates an A
Run Code Online (Sandbox Code Playgroud)
该点new的关键字是要清楚创建一个新的对象时.
顺便说一下你可以有一个工厂方法,按照你的建议返回一个新对象,但是要明确它可能会被认为更清楚它实际上在做什么.
| 归档时间: |
|
| 查看次数: |
1699 次 |
| 最近记录: |