class Person {
private int age;
private String name;
public void setName(String name){this.name=name;}
public void setAge(int age) {this.age=age;}
public String getName() {return name;}
public int getAge() {return age;}
public String getInfo() {
return "Name:" + name + "\n" + "age: " + age;
}
}class Student extends Person {
private String school;
public String getSchool() {return school;}
public void setSchool(String school) {
this.school = school;
}
public String getInfo() {
return "Name" + getName() + "\nage" + getAge()+ "\nschool: " + school;
}
}public class TestOverWrite {
public static void main(String[] args) {
Student student = new Student();
Person person = new Person();
person.setName("张三");
person.setAge("100");
student.setName("小明");
student.setAge("213");
student.School("实小");
System.out.println(person.getInfo);
System.out.println(student.getInfo);
}
}编译之后显示:TestOverWrite.java:29: 无法将 Person 中的 setAge(int) 应用于 (java.lang.String)
                person.setAge("100");
                      ^
TestOverWrite.java:31: 无法将 Person 中的 setAge(int) 应用于 (java.lang.String)
                student.setAge("213");
                       ^
TestOverWrite.java:32: 找不到符号
符号: 方法 School(java.lang.String)
位置: 类 Student
                student.School("实小");
                       ^
TestOverWrite.java:33: 找不到符号
符号: 变量 getInfo
位置: 类 Person
                System.out.println(person.getInfo);
                                         ^
TestOverWrite.java:34: 找不到符号
符号: 变量 getInfo
位置: 类 Student
                System.out.println(student.getInfo);

解决方案 »

  1.   

    你那些setAge(int)里的参数不要用双引号括起,用双引号括起会被认为是字符串String,而不是int,会引起参数不符合.
      

  2.   

    自己对照看吧。class Person {
    private int age;
    private String name; public void setName(String name) {
    this.name = name;
    } public void setAge(int age) {
    this.age = age;
    } public String getName() {
    return name;
    } public int getAge() {
    return age;
    } public String getInfo() {
    return "Name:" + name + "\n" + "age: " + age;
    }
    }class Student extends Person {
    private String school; public String getSchool() {
    return school;
    } public void setSchool(String school) {
    this.school = school;
    } public String getInfo() {
    return "Name:" + getName() + "\nage:" + getAge() + "\nschool: "
    + school;
    }
    }public class TestOverWrite {
    public static void main(String[] args) {
    Student student = new Student();
    Person person = new Person();
    person.setName("张三");
    person.setAge(100);
    student.setName("小明");
    student.setAge(213);
    student.setSchool("实小");
    System.out.println(person.getInfo());
    System.out.println(student.getInfo());
    }
    }
      

  3.   

    前面两个错误:调用setAge(int)函数时,参数是int型,不改用带引号的参数;第三个错误:你的本意可能是student.setSchool("实小")吧,school只是个变量,不能像你那么用;最后两个错误:getInfo()是个函数,调用的时候要把括号()带上即使它没有参数;建议楼主把java变量和函数分清楚;祝君好运~
      

  4.   

    student.setAge("213");不要set字符串啊
    student.setAge(213);
      

  5.   

    你调用的set方法 ,方法传递的参数类型,应该和你定义的方法原型中的类型一致,如果不一致,需要强行转换为一致 ;你的Person.setAge(int) --> 而你的传递进来的是一个字符串 "100" ,直接放100就好了 ;
      

  6.   

    1. 2个setAge(100),setAge(213)数字外都不要带双引号,你可以去古哥下int与String的区别。
    2. 符号问题我怀疑是不是敲入了全角的双引号导致的。全角和半角的双引号你试试看看有什么不一样.
      

  7.   

    呃,都是些最基础的语法错误。
    1、setAge()需要传入的参数为int类型,"100"会转换成Stirng类型。直接写100就好了。
    2、school是student类的属性,怎么能那么赋值呢,要用setSchool("实小");
    3、最后你要调用方法应该写上方法全名啊,getInfo() 带括号的。
    建议LZ还是多看看些基础的书吧。
      

  8.   


    就是个类型搞错了。Age是int 的。
      

  9.   

    package com.linyang.heh;class Person {
    private int age;
    private String name;
    public void setName(String name){this.name=name;}
    public void setAge(int age) {this.age=age;}
    public String getName() {return name;}
    public int getAge() {return age;}
    public String getInfo() {
    return "Name:" + name + "\n" + "age: " + age;
    }
    } class Student extends Person {
    private String school;
    public String getSchool() {return school;}
    public void setSchool(String school) {
    this.school = school;
    }
    public String getInfo() {
    return "Name" + getName() + "\nage" + getAge()+ "\nschool: " + school;
    }
    } public class TestOverWrite {
    public static void main(String[] args) {
    Student student = new Student();
    Person person = new Person();
    person.setName("张三");
    person.setAge(100);
    student.setName("小明");
    student.setAge(213);
    student.setSchool("实小");
    System.out.println(person.getInfo());
    System.out.println(student.getInfo());
    }
    }
    对照着看就知道了  细节很重要 
      

  10.   

    student.setAge("213"); 换成 student.setAge(213);