java开发实战经典(第二版)P217 6-3

6.3   建立一个人类(Person)和学生类(Student),功能要求如下:

(1)Person类中包含4个私有型的数据成员name、addr、sex、age,分别为字符串型、字符串型、字符型及整型,表示姓名、地址、性别和年龄。一个4参构造方法、一个两参构造方法、一个两参构造方法、一个输出方法显示4种属性。

(2)Student类继承Person类,增加math、English存放数学和英语成绩。一个6参构造方法、一个两参构造方法、一个无参构造方法和重写输出方法用于显示6种属性。

package book;

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 JiOu{
	public static void main(String args[]){
		//调用6参的构造函数
		Student stu = new Student("SMC","广州",'男',23,88,99);
		System.out.println(stu.getInfo());
//		//调用2参的构造函数
//		Student stu = new Student(80,90);
//		System.out.println(stu.getInfo());
		
	}
}

运行结果为:

姓名:SMC
地址:广州
性别:男
年龄:23
数学成绩:88.0
英语成绩:99.0

猜你喜欢

转载自blog.csdn.net/javaxiaobaismc/article/details/81255589
6-3
今日推荐