简单继承

package com.xing.test;

public class Peple168 {
    public String name;
    public int age;
    public String sex;
    public String sn;
    public Peple168(String name,int age,String sex,String sn){
        this.name=name;
        this.age=age;
        this.sex=sex;
        this.sn=sn;
    }
  public Peple168(String name){
      this.name=name;
}
@Override
public String toString() { return "Peple168 [姓名=" + name + ", 年龄=" + age + ", 性别=" + sex + ", 身份证号=" + sn + "]"; } } package com.xing.test; public class Student168 extends Peple168 { private String stuNo; public Student168(String name, int age, String sex, String sn,String stuNo) { super(name, age, sex, sn);//由于子类不能继承父类的构造方法,因此要调用父类的构造方法,必须在子类的构造方法体的第一行使用super().已调用父类相应的构造方法,来完成子类对象的部分初始化工作。父类有两个构造方法,该子类中调用了有四个参数的方法 this.stuNo=stuNo; } @Override public String toString() { return "Student168 [姓名=" + name + ", 年龄=" + age + ", 性别=" + sex + ", 身份证号=" + sn + ",stuNo=" + stuNo + "]"; } } package com.xing.test; public class Teacher168 extends Peple168 { private int tYear; public Teacher168(String name, int age, String sex, String sn,int tYear) { super(name, age, sex, sn); this.tYear=tYear; } @Override public String toString() { return "Teacher168 [姓名=" + name + ", 年龄=" + age + ", 性别=" + sex + ", 身份证号=" + sn + ",tYear=" + tYear + "]"; } } package com.xing.test; public class Peple168Test { /** * @param args */ public static void main(String[] args) { Peple168 pp1=new Peple168("zhang", 15, "nv", "123555"); System.out.println(pp1); Peple168 pp2=new Student168("san", 16, "M", "564", "56"); System.out.println(pp2); Peple168 pp3=new Teacher168("wang", 56, "M", "564", 6); System.out.println(pp3); } }
Peple168 [姓名=zhang, 年龄=15, 性别=nv, 身份证号=123555]
Student168 [姓名=san, 年龄=16, 性别=M, 身份证号=564,stuNo=56]
Teacher168 [姓名=wang, 年龄=56, 性别=M, 身份证号=564,tYear=6]

如果在父类中存在有参的构造方法而并没有重载无参的构造方法,那么在子类中必须含有有参的构造方法,因为如果子类中不含有构造方法,默认会调用父类的无参构造方法,而在父类中并没有无参的构造方法,因此会出错。

Java不允许多继承,即一个子类只能有一个直接父类而可以有多个间接父类。如果类声明的头部没有定义任何extends子句,则该类隐含继承java.lang.Object类

super.member   member 是父类中的方法或属性名称,这种形式多用于子类的成员名隐藏了父类的同名成员的情况。

posted @ 2016-12-07 15:38  那一年的我们  阅读(183)  评论(0编辑  收藏  举报