class person1
{
private String name;
public void fun1()
{
System.out.println(name);
}
public void fun2()
{
person1 a2=new person1("a2");
a2.fun1();
this.fun1();
}
public static void main (String[]args)
{
person1 a1 =new person1("a1");
a1.fun2();
}
}
执行之后说NEW找不到符号
public void fun1(name)
需要标识符,请详细解答一下各位大侠我是新手
有人说是person1类少了这么一个方法:public void person1(String name) {}
可是我不懂怎么弄。
------解决思路----------------------
添加一个构造器: public person1(String name) { }这样就可以了。你在person1 a2=new person1("a2");中传入了参数"a2"。 JAVA虚拟机没有找到对应的 构造方法。 你添加一个带一个参数的构造方法就行了。
------解决思路----------------------
class person1
{
private String name;
public person1(String name){
this.name = name;
}
public void fun1()
{
System.out.println(name);
}
public void fun2()
{
person1 a2=new person1("a2");
a2.fun1();
this.fun1();
}
public static void main (String[]args)
{
person1 a1 =new person1("a1");
a1.fun2();
}
}
------解决思路----------------------
构造方法不同于普通方法,他没有返回值,哪怕是void,如果不写默认有一个空的构造方法public person1(){}(这是你那个类的默认的),你new的时候有传入一个参数,必须要写对于的构造方法,即public person1(String name){},当然,你要接收这个name值才会产生相应作用