当前位置: 技术问答>java相关
构造函数一定要是静态的么??
来源: 互联网 发布时间:2015-06-07
本文导语: 好象构造函数都是静态的,但下面的例程不是: public abstract class Equipment { private String name; public abstract double netPrice(); public abstract double discountPrice(); public boolean add(Equipment equipment) { return...
好象构造函数都是静态的,但下面的例程不是:
public abstract class Equipment
{
private String name;
public abstract double netPrice();
public abstract double discountPrice();
public boolean add(Equipment equipment) { return false; }
public boolean remove(Equipment equipment) { return false; }
public Iterator iter() { return null; }
public Equipment(final String name) { this.name=name; } //不是静态的
}
请教:难道例程错了?
如果错了,请教:为什么构造函数都必须是静态的?
public abstract class Equipment
{
private String name;
public abstract double netPrice();
public abstract double discountPrice();
public boolean add(Equipment equipment) { return false; }
public boolean remove(Equipment equipment) { return false; }
public Iterator iter() { return null; }
public Equipment(final String name) { this.name=name; } //不是静态的
}
请教:难道例程错了?
如果错了,请教:为什么构造函数都必须是静态的?
|
这个概念可能你说错了,或者说你真的记错了,毕竟上面那么多人都没听说过,而且他们已经说对了构造方法的特性。
不过你的概念在抽象类中大部分成立,还有特例就是除了使用静态的可以使用final型字段。所以上面的例子一点没错。
不知明白了没有,你可以这么说在抽象类中,构造方法“一定”(大部分)要静态的。
不过你的概念在抽象类中大部分成立,还有特例就是除了使用静态的可以使用final型字段。所以上面的例子一点没错。
不知明白了没有,你可以这么说在抽象类中,构造方法“一定”(大部分)要静态的。
|
当然不必是静态了。
|
没听说过构造函数是静态的说法。
构造函数简单的说是是没有返回值,函数名称和类名一样,参数列表没有限制的函数。
上面的抽象类是正确的。
构造函数简单的说是是没有返回值,函数名称和类名一样,参数列表没有限制的函数。
上面的抽象类是正确的。
|
谁说一定要静态的?
|
"构造函数都是静态的" 没听说过。而且,好象也很少看到静态的构造函数
|
no
|
faint
构建器的编写是规定的
public+同className(参数) {……}
怎么会是静态的?//不知道你从哪本书上看到的?
如果没有定义的话,系统会默认一个(当然它什么也不做)
构建器的编写是规定的
public+同className(参数) {……}
怎么会是静态的?//不知道你从哪本书上看到的?
如果没有定义的话,系统会默认一个(当然它什么也不做)
|
构造函数好象没法被直接调用的吧(除非用this(),super()),如果是有静态一说,不是变成可被直接调用了?被弄的有点糊涂了。