继承

继承

class Person {         //person类
    private String name;
    private int age;

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return this.name;
    }

    public int getAge() {
        return this.age;
    }
}
class Student extends Person { // Student类继承了Person类
    private String school; // 子类的属性

    public void setSchool(String school) {
        this.school = school;
    }

    public String getSchool() {
        return this.school;
    }
}
public class TestDemo {
    public static void main(String args[]) {
        Student stu = new Student(); // 实例化的是子类
        stu.setName("张三");   // Person类定义
        stu.setAge(20); // Person类定义
        stu.setSchool("清华大学"); // Student类扩充方法
        System.out.println("姓名:" + stu.getName() + ",年龄:" + stu.getAge() + ",学校:" + stu.getSchool());
    }
}

student类继承person类,实例化一个student类对象后,可以直接调用父类中权限为public的成员变量或者方法。
除此之外,在子类中可以扩展新方法,或者重写父类方法。

继承存在的几点限制:
1.每个子类只能继承一个父类,不能多重继承,但是可以多层继承
class A {}
class B extends A {}
class C extends B {}
像这样,C就同时继承了A,B中的方法


2.在实例化子类对象的时候,会首先调用父类无参构造函数,然后再运行子类构造函数。如果父类是有参构造,则必须在子类中用super()调用指定参数构造方法,如:super("ab") 且super调用父类构造的时候,一定要放在构造方法首行

posted @ 2018-02-26 09:31  xtu熊大  阅读(141)  评论(0编辑  收藏  举报