【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();

    }

}

总结

暂无

相关推荐
周万宁.FoBJ1 分钟前
vue3 实现文本内容超过N行折叠并显示“...展开”组件
开发语言·前端·javascript
stormsha9 分钟前
Java中使用接口实现回调函数的详解与示例
java·开发语言·python
是小恐龙啊10 分钟前
单链表的增删改查(数据结构)
c语言·开发语言·数据结构·算法
Xinan_____13 分钟前
Linux——k8s组件
java·linux·kubernetes
什码情况14 分钟前
报数游戏 - 华为OD统一考试(E卷)
java·python·算法·游戏·华为od·笔试·华为od机试
鸽芷咕16 分钟前
【C++报错已解决】std::ios_base::sync_with_stdio
开发语言·c++·ios·bug
钗头风26 分钟前
(一)Lambda-Stream流
java·lambda
编啊编程啊程33 分钟前
一文上手SpringSecurity【四】
java·服务器·spring boot·分布式·后端·spring
2401_8576380337 分钟前
Spring Boot 驱动的在线订餐平台
java·spring boot·后端
korgs38 分钟前
dea插件开发-自定义语言9-Rename Refactoring
java·开发语言