下面通过几个简短的程序要求对于继承的概念进行巩固,对于程序开发而言,简单java类是其最基础的组成,也是所有概念最好的融合。
案例分析一
建立一个人类(Person)和学生类(Student),功能要求如下:
(1)Person中包含4个私有型的数据成员name、addr、sex、age,分别为字符串型、字符串型、字符型及整型,表示姓名、地址、性别和年龄。一个4参构造方法、一个两参构造方法、一个无参构造方法、一个输出方法显示4种属性。
(2)Student类继承Person类,并增加成员math、english存放数学和英语成绩。一个6参构造方法、一个两参构造方法、一个无参构造方法和重写输出方法用于显示6种属性。
正常来讲进行一个程序类开发的时候是不需要去考虑子类的问题的,也就是说你现在需要做的只是进行程序功能的完善定义,所以首先来定义的就是Person类。
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 + "、地址:" + this.addr + "、性别:" + this.sex + "、年龄:" + this.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 String getInfo() {
return super.getInfo() + "、数学成绩:" + this.math + "、英语成绩:" + this.english ;
}
}
public class JavaDemo {
public static void main(String args[]) {
Student stu = new Student("张三","天安门",'男',12,78.99,89.98) ;
System.out.println(stu.getInfo()) ;
}
}
在这样的操作案例里面发现子类对象实例化、构造方法调用、方法覆写。