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里面(就是数学成绩前面),给它信息打印出来是一行的。
谢谢各位朋友!
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里面(就是数学成绩前面),给它信息打印出来是一行的。
谢谢各位朋友!
Person C = new Person("gongji", "kunminglu", 'm', 20); ///
Student F = new Student("macangpu", "tianjinlu", 'w', 21, 80.0, 90.0); ///
初始化参数char出错,你输入的是String类型
Student F = new Student("macangpu","tianjinlu",'w',21,80.0,90.0);
构造方法里是char类型
"man","woman"是字符串
你可以只传一个字符,或者要是想传字符串,就改变这两个类的构造方法的定义和sex属性
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();
}
}
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();
}
}