java 中this 的运用

来源:百度知道 编辑:UC知道 时间:2024/09/24 14:04:55
请帮忙找找错

运行错误
第十行 找不到符号
符号:构造函数person(java.lang.String)
位置:;类 person
person a2=new person("a2");
错误是什么意思啊 我没想定义构造函数啊

class person
{
private String name;
public void fun1()
{
System.out.println(name);
}
public void fun2()
{
person a2=new person("a2");
a2.fun1();
this.fun1();
}
public static void main(String [] args)
{
person a1=new person("a1");
a1.fun2();
}
}

你要定义一个带参的构造函数 public Person(String name)
{

this.name=name;
}

this.fun1();
=>
fun1();

定义一个构造函数
public person(String name){
this.name = name;
}

当你是用new运算符创建新对象时
Java会自动调用参数相同的构造函数来初始化对象
但是你用了new person2(“a2”)
却没有定义person a2=new person("a2");
构造函数 当然会出错

this应该是没用错。
不想弄构造函数,那你把“a1”,"a2"传进去想干啥啊?
你干脆就直接 new Person;算了。

需要定义一个构造函数:
public person(String str){
this.name = str;
}

如果这个类不定义一个带String参数的构造函数,就不能使用new person("a2");
只能用new person()来创建对象。