发布日期:2018-03-26
在Java中如何在一个构造函数中调用另外一个构造函数?+ 查看更多
在Java中如何在一个构造函数中调用另外一个构造函数?
+ 查看更多
发布日期:2018-03-10 14:14
分类:JAVA
浏览次数:183
可不可以Java中在一个构造函数中调用另外一个构造函数(在同一个类中,而不是在子类中)?如果可以的话应该怎么做?调用另外一个构造函数最好的办法是什么?(如果有几种方式实现调用)
回答:
是的,如果能够避免死循环的话,这个可以实现:
public class Foo { private int x; public Foo() { this(1); } public Foo(int x) { this.x = x; } }
要实现连接到一个特定的父类构造函数而不是在同一个类中的函数,要用super而不是this。记住,你只能连接到一个构造函数,而且它必须是你的构造函数体中的第一句。
你也可以看看这个相关问题,虽然是关于C#的,但原则上是一样的可以适用。