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

    }

}

总结

暂无

相关推荐
半瓶榴莲奶^_^1 小时前
jvm java虚拟机
java·jvm
Gofarlic_oms16 小时前
利用API实现ANSYS许可证管理自动化集成
运维·服务器·开发语言·matlab·自动化·负载均衡
AI+程序员在路上7 小时前
VS Code 完全使用指南:下载、安装、核心功能与 内置AI 编程助手实战
开发语言·人工智能·windows·开源
invicinble7 小时前
这里对java的知识体系做一个全域的介绍
java·开发语言·python
catchadmin7 小时前
使用 PHP TrueAsync 改造 Laravel 协程异步化的可行路径
开发语言·php·laravel
wbs_scy7 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·开发语言
ss2737 小时前
食谱推荐系统功能测试如何写?
java·数据库·spring boot·功能测试
AI人工智能+电脑小能手8 小时前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法
try2find8 小时前
打印ascii码报错问题
java·linux·前端
014-code8 小时前
CompletableFuture 实战模板(超时、组合、异常链处理)
java·数据库