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(){
//业务逻辑,可以为空
}