JAVA面向对象-----extends关键字

继承使用extends关键字实现
1:发现学生是人,工人是人。显然属于is a 的关系,is a就是继承。
2:谁继承谁?
学生继承人,发现学生里的成员变量,姓名和年龄,人里边也都进行了定义。有重 复代码将学生类的重复代码注释掉,创建学生类对象,仍然可以获取到注释的成员。这就是因为继承的关系,学生类(子类)继承了人类(父类)的部分

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:子类并不能继承父类中所有的成员

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

3:如何使用继承

1:不要为了使用继承而继承。工人和学生都有共性的成员,不要为了节省代
码,让工人继承学生。

/*
如何使用继承:验证是否有 is  a 的关系
 例如:学生是人, 小狗是动物
 注意:不要为了使用某些功能而继承,java只支持单继承
 */
class DK {

    void Ip4S() {
        System.out.println("好玩");
    }
}

class BGir extends DK {

}

class Demo {

    public static void main(String[] args) {

        new BGir().Ip4S();

    }
}

【正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!下面有个“顶”字,你就顺手把它点了吧(要先登录CSDN账号哦 )】


—–乐于分享,共同进步!
—–更多文章请看:http://blog.csdn.net/duruiqi_fx


posted on 2016-07-23 18:27  海南一哥  阅读(204)  评论(0编辑  收藏  举报

导航