日期:2014-05-18  浏览次数:20614 次

java类调用问题
求教一下 这个问题怎么解决!!

------解决方案--------------------
user没有参数为空的构造函数啊
------解决方案--------------------
在没有构造函数的情况下,java虚拟机会默认一个无参构造函数。如果定义了构造函数时,在实例化对象时只调用的就是你定义的这个构造函数。

class One
{
   private String msg;
   public One()
   {
      this.msg = ""; 
   }
   public One(String msg)
   {
      this.msg = msg
   }

   public static void main(String args[])
   {
       One object = new One();
       One one = new One("hello");
    }
}

这种情况下,你才能直接使用无参构造函数


class Two
{
   private String msg;
   public Two(String msg)
   {
      this.msg = msg;
    }
}

这种情况只能使用定义好了的构造函数,无参构造函数没有被定义。
------解决方案--------------------
一般每个类都有一个默认的无参的构造函数,当你每创建一个对象时都会调用该构造函数。如果你重载了构造函数,但还想在创建对象时用无参的,就须显示的把那个无参的构造函数写出来。。表达可能不是太专业,希望海涵。。。
------解决方案--------------------
new User();这表示调用了User这个类的无参构造函数。
你在User()里只有有参构造函数,如果要调用无参构造函数,需要显示声明,
即在User这个类中写入
public User(){
//业务逻辑,可以为空
}