public class treeTest{
public treeTest(){
System.out.println("这是一颗种子");
}
public treeTest(double d){
System.out.println("这是一颗"+d+"厘米高的树");
}
public treeTest(int i){
System.out.println("这是一颗"+i+"年的大树");
}
public static void main(String[] args){
treeTest a=new treeTest();
a.treeTest();
a.treeTest(3.5);
a.treeTest(5);
a.treeTest(28);
a.treeTest(100);
}
}这个程序那里出错呢?大家指教指教
public treeTest(){
System.out.println("这是一颗种子");
}
public treeTest(double d){
System.out.println("这是一颗"+d+"厘米高的树");
}
public treeTest(int i){
System.out.println("这是一颗"+i+"年的大树");
}
public static void main(String[] args){
treeTest a=new treeTest();
a.treeTest();
a.treeTest(3.5);
a.treeTest(5);
a.treeTest(28);
a.treeTest(100);
}
}这个程序那里出错呢?大家指教指教
你上面的方法都是重载构造方法阿,new的时候传递你想要的参数 例如treeTest a=new treeTest(3.5);
你怎么能这么使用构造函数?treeTest a1=new treeTest();
treeTest a2=new treeTest(3.5);
treeTest a3=new treeTest(28);
treeTest a4=new treeTest(100);
或者
new treeTest();
new treeTest(3.5);
new treeTest(28);
new treeTest(100); 或者,不用构造函数的重载,将那几个构造函数的重载换成普通的函数,就可以如同你的main函数里面那样调用了
但是,千万别把二者混为一谈。构造函数不能当普通函数一样使用的……
你……
你……
你……
public class treeTest{
public void treeTest(){
System.out.println("这是一颗种子");
}
public void treeTest(double d){
System.out.println("这是一颗"+d+"厘米高的树");
}
public void treeTest(int i){
System.out.println("这是一颗"+i+"年的大树");
}
public static void main(String[] args){
treeTest a=new treeTest();
a.treeTest();
a.treeTest(3.5);
a.treeTest(5);
a.treeTest(28);
a.treeTest(100);
}
} 先看看think in java
你定义了不同的构造函数,应该是新建对象是指定参数,才可以,如下是对的:
treeTest a=new treeTest();
treeTest b=new treeTest(3.5);
treeTest c=new treeTest(28);
treeTest d=new treeTest(100);
当你定义了一个 treeTest a=new treeTest(); 对象,但你错误的把构造函数当做一般的函数看待了,这是不对的,构造函数在建立对象时被自动执行
刚开始学都不容易啊,尤其是自学的,我也是从这种错误中一步一步走出来的
http://www.onlywitbridge.com/video.asp从这下载些基础视频回去看看,一定对你有所帮助的
也不用改成static 改成无返回值的即可了