编写Java程序,建立一个人类(Person)和学生类(Student)
要求如下:
Person中包含4个私有的数据成员name, addr, sex, age, 分别为字符串型,字符串型,字符型,整形,表示姓名、地址、性别和年龄。用一个4参构造方法、一个2参构造方法、一个无参构造方法、一个输出方法显示4种属性;
Student类继承Person类,并增加成员math, english存放数学和英语成绩,一个6参构造方法、一个2参构造方法、一个无参构造方法和重写输出方法用于显示6种属性。
package com.lzg.class5;
class Person{
private String name;
private String addr;
private char sex;
private int age;
//4参的构造方法
public Person(String name,String addr,char sex,int age){
this.setName(name);
this.setAddr(addr);
this.setSex(sex);
this.setAge(age);
}
//2参的构造方法
public Person(String name,String addr){
this.setName(name);
this.setAddr(addr);
}
//无参的构造方法
public Person(){
}
//输出方法
public String getInfo(){
return this.getName()+ this.getAddr() + this.getSex() + this.getAge();
}
public String getName(){
return name;
}
public void setName(String name){
this.name =name;
}
public String getAddr(){
return addr;
}
public void setAddr(String addr){
this.addr = addr;
}
public char getSex(){
return sex;
}
public void setSex(char sex){
this.sex =sex;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age =age;
}
}
class Student extends Person{
private float math;
private float english;
//6参的构造方法
public Student(String name,String addr,char sex,int age,float math,float english){
super(name,addr,sex,age);
this.setMath(math);
this.setEnglish(english);
}
//2参的构造方法
public Student(float math ,float english){
this.setMath(math);
this.setEnglish(english);
}
//无参的构造方法
public Student (){
}
//覆写输出方法
public String getInfo(){
return "姓名:"+super.getName()+"\n"+
"地址:"+super.getAddr()+"\n"+
"性别:"+super.getSex()+"\n" +
"年龄:"+super.getAge() +"\n"+
"数学成绩:"+this.getMath() +"\n"+
"英语成绩:"+this.getEngish();
}
public float getMath(){
return math;
}
public void setMath(float math){
this.math = math;
}
public float getEngish(){
return english;
}
public void setEnglish(float english){
this.english =english;
}
}
public class Test{
public static void main(String args[]){
//调用6参的构造函数
Student stu = new Student("lzg","ynufe",'m',21,100,90);
System.out.println(stu.getInfo());
// //调用2参的构造函数
// Student stu = new Student(80,90);
// System.out.println(stu.getInfo());
}
}
输出结果: