【Java面向对象高级一08】继承_使用继承的好处

  • 前言

  • 一、继承是什么?

  • 二、使用继承的好处

  • 总结


前言

继承的学习


一、继承是什么?

Java中提供了一个关键字extends,用这个关键字,可以让一个类和另一个类建立起父子关系。extends(中文意思就是继承)。

继承的意思是:能用。也就是说能用父类的非私有成员和方法。

继承的特点:

子类能继承父类的非私有成员(成员变量,成员方法)。

继承后对象的创建:

子类的对象是由子类,父类共同完成的。

这句话的意思是:在继承的情况下,创建一个子类对象,相当于同时创建了子类和父类的对象。也可以这样理解,子类对象实际上是由子类和父类这两张设计图共同创建出来的。

二、使用继承的好处

1、减少重复的代码编写。

案例:

员工管理系统中,需要处理讲师和咨询师的数据

讲师的数据有:姓名,具备的技能;

咨询的数据有:姓名,解答问题的总人数;

People

java 复制代码
public class People {

    private String name;


    public String getName() {
        return name;
    }

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

}

Teacher

java 复制代码
public class Teacher extends People {

    private String skill;//技能

    public String getSkill() {
        return skill;
    }

    public void setSkill(String skill) {
        this.skill = skill;
    }

    public void print_info(){
        System.out.println("讲师的姓名是:"+getName()+","+"具备的技能是:"+getSkill());
    }
}

Consultant

java 复制代码
public class Consultant extends People  {

        private int num;//人数

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public void print_info1(){
        System.out.println("咨询师的姓名是:"+getName()+","+"人数是:"+getNum());
    }





}

TEST

java 复制代码
public class TEST {
    public static void main(String[] args) {

        Teacher t=new Teacher();
        t.setName("张老师");
        t.setSkill("弹吉他");
        System.out.println(t.getName());
        System.out.println(t.getSkill());
        t.print_info();

    }

}

总结

暂无

相关推荐
凤凰院凶涛QAQ11 小时前
《Java版数据结构 & 集合类剖析》Map & Set & 反射:“从哈希碰撞到红黑树转换,反射帮你扒开 HashMap 的桶数组看个究竟”
java·数据结构·算法
H.莓飛11 小时前
【数据结构】排序_OJ题(一):计数、桶与排序后的处理
java·开发语言·数据结构
wangchunyu11411 小时前
JAVA AQS与Lock实现原理(含CAS)
java·开发语言·word
爱喝水的鱼丶12 小时前
SAP-ABAP:ECC→S/4HANA ABAP 迁移升级指南——程序改造、语法兼容与性能优化 导语
运维·开发语言·性能优化·sap·abap·经验交流·开发交流
w_zero_one13 小时前
算法--模拟
java·数据结构·算法
小灰灰搞电子13 小时前
Rust+Slint 实现FTP客户端调试助手源码分享
开发语言·后端·rust
外收内放13 小时前
面向对象高级(实战案例)
开发语言·python·学习
Javatutouhouduan13 小时前
阿里1658页Java面试题总结(含答案)
java·高并发·java面试·java面试题·后端开发·java程序员·java八股文
秋天的怀念_David13 小时前
算法一千零一夜 · 第十三夜 幻方,武侠世界里的数学迷宫
java·程序人生·算法
专业程序开发源13 小时前
springboot欧缇蔓月子中心管理系统82697-计算机课程设计、毕业设计
java·spring boot·后端·python·spring·django·课程设计