通过几个简短的程序要求对继承的概念进行巩固,对于程序开发而言,简单java类是其最基础的组成,也是所有概念最好的融合。
案例分析一
建立一个人类(Person)和学生类(Student),功能要求如下:
- Person中包含4个私有型的数据成员name、addr、sex、age、分别为字符串型、字符串型、字符型、整形,表示姓名、地址、性别、年龄。一个4参构造方法、一个两参构造方法、一个无参构造方法、一个输出方法显示四种属性。
- Student类继承Person类,并增加成员math、english存放数学和英语成绩。一个6参构造方法,一个两参构造方法、 一个无参构造方法和重写输出方法用于显示6种属性。
class JavaDemo
{
public static void main(String[] args)
{
Student StuA = new Student(12.3,99.2,"张三","湖南",'男',18);
System.out.println(StuA.getInfo());
}
}
class Person
{
private String name;//姓名
private String addr;//地址
private char sex;//性别
private int age;//年龄
public Person(){//无参构造
}
public Person(String name,String addr){//两参构造
this(name,addr,'男',0);
}
public Person(String name,String addr,char sex,int age){//四参构造
this.name = name;
this.addr = addr;
this.sex = sex;
this.age = age;
}
public String getInfo(){//返回属性值
return "名字:"+this.name+"\t地址:"+this.addr+"\t性别:"+this.sex+"\t年龄:"+this
.age;
}
public void printInfo(String pr){
System.out.println(pr);
}
}
class Student extends Person
{
private double math;
private double english;
public Student(){
}
public Student(String name,String addr){
super(name,addr);//调用父类构造方法
}
public Student(double math,double english,String name,String addr,char sex,int age){
super(name,addr,sex,age);//调用父类构造方法
this.math = math;
this.english = english;
}
public String getInfo(){//覆写该方法
return super.getInfo()+"math:"+this.math+"\tenglish:"+this.english;
}
}