找不到符号 符号: 方法 setName(java.lang.String) 位置: 类 Person this.se

class Person
{
private int age;
private String name;
public Person(String name,int age)//构造方法为属性初始化
{

this.setAge(age);
this.setName(name);
}
public void tell()
{
System.out.println("name:"+getName()+"age:"+getAge());
}
public String getName()
{
return name;
}
public void getName(String n)
{
name = n;
}
public int getAge()
{
return age;
}
public void setAge(int a)
{
if(a>0 && a<100)
age = a;
}
}
public class TestEncapsulation4
{
public static void main(String [] args)
{
Person per1 = new Person("陈思思",33); //对象调用构造方法初始化类的属性
per1.tell();
}
}
感觉没有问题,可是。。。劳各位技术大牛没帮我看看。谢谢。

你的getName()方法返回值类型应该是String,而你写的是void,无返回值类型,而且关于属性取得的getter方法是不应该传参数进去的,希望对楼主有帮助~~~~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-10
封装属性分为set,get,你代码中把setName写成getName了,一般还是自动生成吧,手写很麻烦的
第2个回答  2011-09-10
1、 this.setName(name);方法你贴出来的代码里面没有导致了setName(java.lang.String) 无效
2、
public void getName(String n)
{
name = n;
}
这段代码应该是如下情况:
public void setName(String n)
{
name = n;
}
你试试修改成这个样子,应该是没有问题,可以达到你想要的目的
name:陈思思age:33
第3个回答  推荐于2018-03-19
name属性有2个get方法 public void getName(String n)
{
name = n;
}
改为:
public void setName(String n)
{
name = n;
}本回答被提问者和网友采纳
第4个回答  2011-09-10
你有两个getname方法、。。
相似回答