JAVA(十一)java面向对象5-继承

java面向对象5-继承

继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。 Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。

继承使用extends关键字实现

class Person {
    String name;
    int age;
    // 静态变量(类变量)对象和对象之间的代码重复使用静态变量
    static String country = "CN";

    Person() {
    }

    void speak() {
        System.out.println(name + ":哈哈,我是人!!!");
    }

}

// 让学生类和人类产生关系,发现学生is a 人,就可以使用继承
class Student extends Person {

    Student() {
    }

    void study() {
        System.out.println("姓名:" + name + "年纪:" + age + ":好好学习");
    }
}

class Worker extends Person {

    void work() {
        System.out.println(name + ":好好工作,好好挣钱。");
    }

}

class Demo1 {

    public static void main(String[] args) {
        Student stu = new Student();
        stu.name = "jack";
        stu.age = 20;
        stu.study();
        stu.speak();
        System.out.println(stu.country);
        System.out.println(Student.country);

        Worker worker = new Worker();
        worker.name = "rose";
        System.out.println(worker.country);
        worker.work();
        worker.speak();

        System.out.println();
    }
}

总结:
子类并不能继承父类中所有的成员
1.父类定义完整的成员 静态成员,非静态,构造方法。静态变量和静态方
法都可以通过子类名.父类静态成员的形式调用成功。
2.所有的私有成员不能继承,private修饰的成员。
3.构造函数不能被继承

继承讲究的是两个类之间有…is…a…的关系。不应该为了功能而继承。毕竟他只能继承一个父类。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章