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);
}
}这个程序那里出错呢?大家指教指教

解决方案 »

  1.   

    汗 
    你上面的方法都是重载构造方法阿,new的时候传递你想要的参数 例如treeTest a=new treeTest(3.5); 
      

  2.   

    你……
    你怎么能这么使用构造函数?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函数里面那样调用了
    但是,千万别把二者混为一谈。构造函数不能当普通函数一样使用的……
    你……
    你……
    你……
      

  3.   

    LZ这样改也行哦!
    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
      

  4.   


    你定义了不同的构造函数,应该是新建对象是指定参数,才可以,如下是对的:
    treeTest a=new treeTest(); 
    treeTest b=new treeTest(3.5); 
    treeTest c=new treeTest(28); 
    treeTest d=new treeTest(100); 
    当你定义了一个 treeTest a=new treeTest(); 对象,但你错误的把构造函数当做一般的函数看待了,这是不对的,构造函数在建立对象时被自动执行
      

  5.   

    这位hbgzg3006说的很对哇,多多努力O(∩_∩)O哈!
      

  6.   

    二楼回答很好!三楼的建议你应该接受。
    刚开始学都不容易啊,尤其是自学的,我也是从这种错误中一步一步走出来的
    http://www.onlywitbridge.com/video.asp从这下载些基础视频回去看看,一定对你有所帮助的
      

  7.   

    建议楼主多看看java基础的书吧,慢慢学习
      

  8.   

    treeTest 类首写字母大写类方法改成void static
      

  9.   


    也不用改成static 改成无返回值的即可了