1.继承的介绍

2.继承的使用

为什么要使用继承?假如以后要写一个项目,其中程序员一个类,项目经理一个类,Hr一个类,但是这些类的成员都一样 如图



我们会发现这些成员都是重复的,三个类都写重复的成员十分繁琐,所以我们使用继承,假如有一个类-员工,里面都有这些对象,然后让Coder、Manager、Hr与员工类签订关系(子父类),这样这三个类就可以直接使用员工类的成员,十分方便

继承的格式

3.继承实战



尽量一个java文件对应一个类,这里设置多个类是因为看着方便

1.保证类与类是平级关系,如果有嵌套那就会误打误撞写出内部类,内部类的创建对象方式和我们现在学的不同

2.如果类被public修饰了,那么类名就必须和包名保持一致,否则报错,所以其他类别带public

4.继承的正确使用格式

上图中,继承的使用方式其实还存在一定不严谨性,之前说过,类里的成员信息全都要私有化,但如果我们私有化这些成员,继承就没用了(只能使用父类中未被私有化的成员),那该怎么办?

私有化还是需要的,解决方法就是set、get方法 如图

5.何时使用继承

当我们发现,类与类之间存在许多共性的内容时,并且产生了谁是谁的关系,就可以使用继续来优化代码

如:学生和老师都是人,所以学生和老师继承人这个类,没问题

.



.

而商品与程序员,虽然有个id一样,但明显,这样继承不合适

继承的介绍、使用-java se进阶 day01的更多相关文章

  1. 【Java SE进阶】Day01 Object类、日期时间类、System类、StringBuilder类、包装类

    一.Object类 1.概述:Java语言的根类/超类,默认继承自Object类 2.常用方法 toString():返回对象的字符串表示--对象类型@内存地址值 可以对其重写@Override eq ...

  2. 【Java SE】Day01 前言、入门程序、常量、变量

    回顾一下Java之前学的内容 Day01 前言.入门程序.常量.变量 一.基础知识 莱布尼茨发明二进制,辗转相除与8421位权法互转,1B=1bit=1字节=8位=8byte dos cls清屏dir ...

  3. 【Java SE进阶】Day13 Stream流、方法引用

    〇.总结 Stream流的方法:forEach.filter.map.count.limit.skip.concat(结合之前的Collectors接口) 方法引用:Lambda的其他类方法体相同,如 ...

  4. 【Java SE进阶】Day12 函数式接口、函数式编程(Lambda表达式)

    一.函数式接口介绍 1.概念 仅有一个抽象方法的接口 适用于函数式编程(Lambda使用的接口) 语法糖:方便但原理不变,如for-each是Iterator的语法糖 Lambda≈匿名内部类的语法糖 ...

  5. 【Java SE进阶】Day10 缓冲流、转换流、序列化流 、打印流

    一.缓冲流 1.概述 比普通流更强大的IO流,可以增加读写的效率 组成 缓冲输入流:BufferedInputStream.BufferedReader 缓冲输出流:BufferedOutputStr ...

  6. 【Java SE进阶】Day09 字节流、字符流、I/O操作、属性集

    一.I/O概述 1.输入输出 输入:硬盘-->内存 输出:内存-->内存 2.流 字节流:一个字节等于8位 字符流:一个字符=2个字节 二.字节流 1.概述 以字节的方式读取/传输 可以读 ...

  7. 【Java SE进阶】Day08 File类、递归

    一.File类 1.概述java.io.File 文件和路径的抽象表示 用于文件和目录的创建.查找和删除等 分类 file--文件 directory--文件夹/目录 path--路径 2.静态成员变 ...

  8. 【Java SE进阶】Day07 等待与唤醒案例、线程池、Lamdba表达式

    一.等待唤醒机制 1.线程间通信 多个线程处理同一个资源,就存在线程通信问题(线程间存在竞争与协作机制) 为什么处理:为了 保证多个线程有规律地完成同一任务 如何处理:避免对共享变量争夺,需要等待唤醒 ...

  9. 【Java SE进阶】Day06 线程、同步

    一.线程 1.多线程原理 流程图 内存图解说明 创建线程的方式 继承Thread类 实现 Runnable接口 2.继承Thead类 3.实现Runnable接口 实现接口,重写run方法 最终均需要 ...

  10. 【Java SE进阶】Day05 异常,线程

    一.异常 1.概念 程序执行过程中,出现非正常情况导致JVM的非正常停止 本身是一个类,产生异常即创建并抛出一个异常对象 Java处理异常的方式是进行中断处理 异常非语法错误,语法错误直接不会产生cl ...

随机推荐

  1. C Primer Plus 第6版 第四章 编程练习参考答案

    编译环境VS Code+WSL GCC 源码请到文末下载 /*第1题*************************/ #include<stdio.h> int main() { ch ...

  2. Solution -「LOCAL」Minimal DFA

    \(\mathscr{Description}\)   Private link.   令 \(\Sigma=\{\texttt a,\texttt b\}\),对于所有形式语言 \(L\subset ...

  3. c# 微软小冰-虚拟女友聊天

    using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System ...

  4. c# 反射私有类和私有方法

    namespace ClassLibrary1 { class InnerClass//私类 { public string Test(string s) { return "" ...

  5. G1原理—7.G1的GC日志分析解读

    大纲 1.TLAB的GC日志解读 2.YGC的GC日志解读 3.模拟YGC(单次GC及多次GC的不同场景) 4.打开实验选项查看YGC的详情日志信息 5.Mixed GC日志信息之初始标记过程 6.M ...

  6. docker没有vi不能执行yum报Device or resource busy

    最近在使用docker的过程中发现一个问题,就是想用vim编辑器编辑一个文件,发现连vi都没有. 于是想到一个办法用docker cp来解决问题: 首先执行docker ps -a查看容器的id 然后 ...

  7. Ubuntu更改用户名

    网上给出Ubuntu更改用户名步骤: 1.进入Ubuntu,打开一个终端,输入 sudo su转为root用户. 注意,必须先转为root用户!!! 2.gedit /etc/passwd ,找到代表 ...

  8. 解决使用yarn安装依赖出现“The engine "node" is incompatible with this module. Expected version "^14.18.0 || ^16.14.0 || >=18.0.0". Got "17.9.0"”的问题

    1.问题描述 某天在使用yarn安装依赖的时候,突然出现如下错误导致安装依赖终止: The engine "node" is incompatible with this modu ...

  9. SnowFlake雪花算法

    简介 自然界不存在两片完全一样的雪花,每一片都是独一无二的,雪花算法的命名由此而来,所有雪花算法表示生成的ID唯一,且生成的ID是按照一定的结构组成. 组成结构 上图可以看到雪花算法的结构由四部分组成 ...

  10. NET中三种主机简单理解

    在NET中有三个不同的主机: .NET WebApplication 主机,也称为最小主机. 这是.NET 6中的一个新特性,旨在提供最小的启动时间和内存消耗.最小主机只包括.NET运行时的最基本组件 ...