构造方法的问题
class My
{
private String name;
private int age;
public void setName(String i)
{
name=i;
}
public void setAge(int y)
{
age=y;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
}
public class Testmy
{
public static void main(String [] args)
{
My w=new My();
w.setName("huyuex");
w.setAge(22);
System.out.println("My is Name "+w.getName());
System.out.println("My is age "+w.getAge());
}
}
一切没问题,因为考虑到数据的封装,所以把成员变量设置为private,再设置了两个public set方法来设置成员变量,又设置了两个public get方法来获取数据..
但是当我把源代码改写成:
class My
{
private String name;
private int age;
public My(String nane,int age)
{
this.name=name;
this.age=age;
}
public void setName(String i)
{
name=i;
}
public void setAge(int y)
{
age=y;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
}
public class Testmy
{
public static void main(String [] args)
{
My w=new My();
w.setName("huyuex");
w.setAge(22);
System.out.println("My is Name "+w.getName());
System.out.println("My is age "+w.getAge());
}
}
编译的时候:
javac Testmy.java
Testmy.java:39: My(java.lang.String,int) in My cannot be applied to ()
My w=new My();
^
1 error
提示的意思是说不能这样使用.
这是怎么回事???