java构造其实算一个无返回类型的方法,与类同名,他的作用就是初始化,其实这些都是以前已经知道的知识。今天在看《java编程思想》第四版有了一个新的发现,当然,很可能是我孤陋寡闻了。直接上重点吧,如果在类中存在唯一一个带有参数的构造器,就不能去调默认的构造(无参构造器) 。直接上例子:
这样是错误的:
package jay.exercise.thinking.chapter5;
/**
* 作者:Jay
* 功能:了解java构造器
* 日期:2013.11.11
*/
public class TestConstructor {
private static String name;
public TestConstructor(int x) {
System.out.println(x);
}
public static void main(String[] args) {
new TestConstructor();//此处会报错
new TestConstructor(1000);
System.out.println(name);
}
}
如果你必须要用无参构造器,可以显示构造,直接写出来,如下就行了:
package jay.exercise.thinking.chapter5;
/**
* 作者:Jay
* 功能:了解java构造器
* 日期:2013.11.11
*/
public class TestConstructor {
private static String name;
public TestConstructor() {
System.out.println(name);
}
public TestConstructor(int x) {
System.out.println(x);
}
public static void main(String[] args) {
new TestConstructor();//再调用就不会报错了
new TestConstructor(1000);
System.out.println(name);
}
}