class Person{
private int age;
private String name;
public void setAge(int age){
this.age=age;

}
public void  setName(String name ){
this.name=name;
}
public int getAge(){
return age;
}
public String getName(){
return name;
}
protected String getInfo(){
return "age:"+getAge()+"\nname:"+getName();
}
}
class Student extends Person{
private String school;
public void setSchool(String school){
this.school=school;
}
public String getSchool(){
return school;
}
protected String getInfo(){
return "age:"+getAge()+"\nname:"+getName()+"\nschool:"+getSchool();
}

}
public class TestOverWrite{
public static void main(String arg[]){
Student student =new Student() ;
Person person=new Person();
person.setAge(44);
person.setName("hn");

student.setAge(44);
student.setName("hn");
student.setSchool("jin");
System.out.println(person.getInfo());
System.out.println(student.getInfo());
}
}

解决方案 »

  1.   

    public void  setName(String name ){ 
    this.name=name;
    }
    this.name=name;从这句话可以看出,setName()的功能是把你传给他的name赋给Person的成员name,如果是空参数的话就不能达到setName()的目的了
      

  2.   

    lz这可是最基本的复制功能函数,要不然怎么传值给属性(Private)
      

  3.   

    估计lz是把csdn当“人工智能”教材了