class Person {
private String name;
private String addr;
private char sex;
private int age;
public Person() {
}
public Person(String name, String addr) {
this.name = name;
this.addr = addr;
}
public Person(String name, String addr, char sex, int age) {
this.name = name;
this.addr = addr;
this.sex = sex;
this.age = age;
}
public void info() {
System.out.println("姓名: "+name+"\t;"+"地址:"+addr+"\t;"+"性别:"+sex+"\t;"+"年龄:"+age);
}
}class Student extends Person {
private double _math;
private double _english;
public Student() {
}
public Student(String name, String addr) {
super(name, addr);
}
public Student(String name, String addr, char sex, int age, double _math, double _english) {
  super(name, addr, sex, age);
this._math = _math;
this._english = _english;
}
public void info() {
super.info();
System.out.println("数学成绩:"+_math+"\t;"+"英语成绩:"+_english);
}
}public class TestStudent {
public static void main(String[] args) {
Person A = new Person();
Person B = new Person("hanbao", "beijinglu");
Person C = new Person("gongji", "kunminglu", "man", 20);
Student D = new Student();
Student E = new Student("baichi", "weiminlu");
Student F = new Student("macangpu", "tianjinlu", "woman", 21, 80.0, 90.0);
A.info();
B.info();
C.info();
D.info();
E.info();
F.info();
}
}
怎么也调不出来,还有就是Student类的info()方法,怎么把继承的那个super.info()放到System.out.println里面(就是数学成绩前面),给它信息打印出来是一行的。
谢谢各位朋友!

解决方案 »

  1.   

    首先将这两行更改
    Person C = new Person("gongji", "kunminglu", 'm', 20); ///
    Student F = new Student("macangpu", "tianjinlu", 'w', 21, 80.0, 90.0); ///
    初始化参数char出错,你输入的是String类型
      

  2.   

    Person C = new Person("gongji","kunminglu",'m',20);
    Student F = new Student("macangpu","tianjinlu",'w',21,80.0,90.0);
    构造方法里是char类型
    "man","woman"是字符串
      

  3.   

    首先 你的类都编译不过 你在Person中定义了一个char变量 但是你却传给个一个Sting变量。
      

  4.   

    你看一下,你在实例化对象的时候调用的构造方法,传的参数是String,而你定义的sex是char,
    你可以只传一个字符,或者要是想传字符串,就改变这两个类的构造方法的定义和sex属性
      

  5.   

    你说的是这个意思吗
    package com.test6;class Person { 
    private String name; 
    private String addr; 
    private char sex; 
    private int age; 
    public Person() { 


    public Person(String name, String addr) { 
    this.name = name; 
    this.addr = addr; 


    public Person(String name, String addr, char sex, int age) { 
    this.name = name; 
    this.addr = addr; 
    this.sex = sex; 
    this.age = age; 


    public void info() { 
    System.out.print("姓名: "+name+"\t;"+"地址:"+addr+"\t;"+"性别:"+sex+"\t;"+"年龄:"+age); 

    } class Student extends Person { 
    private double _math; 
    private double _english; 
    public Student() { 

    public Student(String name, String addr) { 
    super(name, addr); 

    public Student(String name, String addr, char sex, int age, double _math, double _english) { 
      super(name, addr, sex, age); 
    this._math = _math; 
    this._english = _english; 

    public void info() { 
    super.info(); 
    System.out.println("数学成绩:"+_math+"\t;"+"英语成绩:"+_english); 

    }  class Test6 { 

    public static void main(String[] args) { 
    Person A = new Person(); 
    Person B = new Person("hanbao", "beijinglu");
    Person C = new Person("gongji", "kunminglu", 'm', 20); ///
    Student D = new Student(); 
    Student E = new Student("baichi", "weiminlu"); 
    Student F = new Student("macangpu", "tianjinlu", 'w', 21, 80.0, 90.0); /// E.info(); 
    F.info(); 


      

  6.   

    class Person { 
    private String name; 
    private String addr; 
    private String sex; //此处将sex的符号改成String因为下面你是用"man"这个字符串来初始化sex的
    private int age; 
    public Person() { 

    public Person(String name, String addr) { 
    this.name = name; 
    this.addr = addr; 

    public Person(String name, String addr, String sex, int age) { 
    this.name = name; 
    this.addr = addr; 
    this.sex = sex; 
    this.age = age; 

    public void info() { 
    System.out.println("姓名: "+name+"\t;"+"地址:"+addr+"\t;"+"性别:"+sex+"\t;"+"年龄:"+age); 

    } class Student extends Person { 
    private double _math; 
    private double _english; 
    public Student() { 

    public Student(String name, String addr) { 
    super(name, addr); 

    public Student(String name, String addr, String sex, int age, double _math, double _english) { //同样将有对应的sex的值类型都改变一下
     super(name, addr, sex, age); 
    this._math = _math; 
    this._english = _english; 

    public void info() { 
    super.info(); 
    System.out.println("数学成绩:"+_math+"\t;"+"英语成绩:"+_english); 

    } public class TestStudent { 
    public static void main(String[] args) { 
    Person A = new Person(); 
    Person B = new Person("hanbao", "beijinglu"); 
    Person C=new Person("gongji", "kunminglu", "man", 20); 
    Student D = new Student(); 
    Student E = new Student("baichi", "weiminlu"); 
    Student F = new Student("macangpu", "tianjinlu", "woman", 21, 80.0, 90.0); 
    A.info(); 
    B.info(); 
    C.info(); 
    D.info(); 
    E.info(); 
    F.info(); 

    }
      

  7.   

    我刚才说7楼。八楼那个同学不要改属性,从后面输入那改,那个SEX就得用char的