public class Person {
public String name;
public int age;
public Person(String name,int age)
{
this.name = name;
this.age = age;
}
public void getInfo()
{
System.out.println(name);
System.out.println(age);
}
}
这是父类class Student extends Person {
public Student(String name,int age,String school)
{
super(name,age);
this.school=school;
} /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p = new Person("fdf",15);
p.getInfo();

p.name = "Person";
p.age = 18;
p.getInfo();
}
}
这是子类 加测试

解决方案 »

  1.   

    请问,lz , 你的Student 类里面有定义 school 么?
      

  2.   

    子类中school没有声明
    public String school;
      

  3.   

    晕死 ,原来school在student子类中没有定义!-  -
      

  4.   

    修改父类
    这是父类class Student extends Person {
    public string school;
    public Student(String name,int age,String school)
    {
    super(name,age);
    this.school=school;
    }
    说下问题,一般类的属性定义为私有的,提供set,get方法就可以了
      

  5.   

    public class Person {
    public String name;
    public int age;
    public Person(String name,int age)
    {
    this.name = name;
    this.age = age;
    }
    public void getInfo()
    {
    System.out.println(name);
    System.out.println(age);
    }
    }
    这是父类class Student extends Person {
    public Student(String name,int age,String school)
    {
    super(name,age);
    this.school=school; //this.school是那里的? 你都没有定义school这个属性
                           //              那这个this.shcool找不 到了
    }/**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Person p = new Person("fdf",15);
    p.getInfo();p.name = "Person";
    p.age = 18;
    p.getInfo();
    }
    }
    这是子类 加测试
    另外就像楼上说的一样 属性一般定义为private 通过get set方法来返回和修改  还有你可以把那个测试类里面的那些测试方法 在抽出来单独放一个类里 
      

  6.   

    你是要测试Person的话还要定义student做什么??郁闷中
      

  7.   

    LZ定义子类干嘛~你测试有没有用到~student都没有用到~
      

  8.   

    你在Student类中没定义school变量啊,我改过后代码如下:
    public class Person {
    public String name;
    public int age;
    public Person(String name,int age)
    {
    this.name = name;
    this.age = age;
    }
    public void getInfo()
    {
    System.out.println(name);
    System.out.println(age);
    }
    }
    //这是父类 class Student extends Person {
            public String school;
    public Student(String name,int age,String school)
    {
    super(name,age);
    this.school=school;
    }
    public static void main(String[] args) {
    Person p = new Person("fdf",15);
    p.getInfo();p.name = "Person";
    p.age = 18;
    p.getInfo();
    }
    }
      

  9.   

    平白冒出个this.school=school; 
      

  10.   

    this.school=school;   这里错了..
      

  11.   

    你重写一下getInfo()对你理解继承更有帮助。