1.protected权限修饰符的介绍

之前在说权限修饰符时候,没有细说protected,今天,我们就来聊聊protected

如图,protected修饰符中,“不同包的子类”是我们要理解的

我们在不同的包下创建一个Fu类和一个Zi类,然后在Zi类的同一个包中创建一个test类

Zi类继承Fu类,然后test不继承,仅用于测试

在test类里,创建Zi对象,发现无法调用Zi继承到的Fu类的show方法

这是因为,Fu类和test类属于无关类,show方法被protected修饰,最远范围也只能在不同包下的子类进行调用,在test里面调用超出了范围

所以,“不同包下的子类”就是指只能在Zi类范围里调用被protected修饰的成员,超出Zi类范围的地方都不行

如图,我们先在Zi范围里写了一个method,method再调用show就不会报错,然后如果想在其他地方调用show方法,就必须通过method方法来调用

我们会发现protected使用起来十分麻烦,而在现实编程,protected用的也很少,大部分使用的是public和private

2.java中继承的特点

支持单继承,而不支持多继承就是说一个类只能继承一个类,而不能同时继承多个类。

很好理解,一个人只能有一个亲爸,不可能有多个亲爸

java中不支持多继承的原因是防止程序逻辑混乱,假如支持多继承



两个父类中都有method方法,并且各自给出的逻辑都不同,这时,程序就无法判断该使用哪一个父类给出的method方法

支持多层继承就是说,A类继承B,B类继承C,可以理解为爷爷、爸爸、孙子

如图,B继承了A,而C又继承了B,所以A是爷爷,B是爸爸,C是孙子

c调用method方法,A与B属于子父类,所以B中的method方法就把A的method

方法重写,此时c调用的就是B重写的method方法,不会有逻辑错误

protected修饰符讲解、java中继承的特点-java se进阶 day01的更多相关文章

  1. Java进阶(四十)Java类、变量、方法修饰符讲解

    Java进阶(四十)Java类.变量.方法修饰符讲解 Java类修饰符 abstract: 将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. final: 将一个类生命为最终(即非继承类) ...

  2. 深入理解Java的protected修饰符

    其实Java的protected修饰符,权限定义的很微妙,大致有以下几种: (1)protected控制符用于修饰方法和成员变量: (2)一个类的protected方法或成员变量,在包外是不能通过该类 ...

  3. java protected修饰符说明

    1. 简介 对protected修饰符进行阐述,结合Object类的clone方法进行说明.其中clone方法如下:protected Object Object.clone(): 关于protect ...

  4. java protected修饰符理解

    Protected类型可以在本包和子类中访问的含义.在本包中访问,顾名思义,可以在定义类的包中的任何地方申请一个包含protected修饰符的域和方法的类的对象,并通过这个对象访问被protected ...

  5. Java中继承,类的高级概念的知识点

    1. 继承含义 在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式称为继承(inheritance). 2. 继承的优点 A.代码的可重用性 B.子类可以扩 ...

  6. 第七节:详细讲解Java中的日期,java.util.date

    前言 大家好,给大家带来详细讲解Java中的日期,java.util.date的概述,希望你们喜欢 类Date Java.lang.Object->java.util.Date public c ...

  7. java中继承thread类的其他类的start()方法与run()方法

    java中继承thread或者实现runnable接口的类必须重写run()方法. 如果其执行了start()方法,其实就是启动了线程的run()方法. 注意:如果是实现runnable接口的类是没有 ...

  8. java中继承,子类是否继承父类的构造函数

    java中继承,子类是否继承父类的构造函数 java继承中子类是不会继承父类的构造函数的,只是必须调用(隐式或者显式) 下面来看例子: public class TestExtends { publi ...

  9. [转载]Java中继承、装饰者模式和代理模式的区别

    [转载]Java中继承.装饰者模式和代理模式的区别 这是我在学Java Web时穿插学习Java设计模式的笔记 我就不转载原文了,直接指路好了: 装饰者模式和继承的区别: https://blog.c ...

  10. java中继承的内存分析

    本文主要讲述java中继承的内存分析. 示例1,代码如下: public class EncapsulationTest { public static void main(String[] args ...

随机推荐

  1. 关于vue加element-ui上传文件获取文件的sha256的值

    首先使用element的上传文件的组件 安装依赖crypto-js npm i crypto-js <el-upload class="upload-demo" drag : ...

  2. Hugo|30分钟搭建完整的个人博客

    本文将讲述如何使用 Hugo,从0到1完成一个"静态博客"的搭建.展示 hugo 可以通过简单配置,自定义装饰博客界面的能力,并集成网站数据统计能力. 下一篇文章将教会你将站点免费 ...

  3. RocketMQ的架构设计、关键特性、与应用场景详解

    内容大纲: 1.RocketMQ的简介与演进 2. RocketMQ的架构设计 3.RocketMQ的关键特性 4.RocketMQ的应用场景 RocketMQ的简介 RocketMQ一个纯java. ...

  4. Docker网络:Docker0、容器互联技术--link、自定义网络、实战部署Redis集群

    一.Docker网络 ● --理解Docker0 在干净的Linux环境上安装docker(将docker 的所有镜像.容器先删除,干干净净!)实验: 1.查看本地网络信息 ip addr 可见有三个 ...

  5. 基础《Go学习笔记》读书笔记——函数

    writer:zgx lastmodify:2020年09月26日 目录 第四章--函数 变参 返回值 匿名函数 闭包 延迟调用 误用 性能 错误处理 error panic, recover Dra ...

  6. 低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解

    低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解 背景 最近遇到一个客户需求,客户的生产环境有大量的SQL Server数据库(大概180套),客户的诉求是需要把生产环境 ...

  7. Win7下的文件权限

    平常编写的程序总会有配置功能,然后配置肯定是以文本文件的方式存放在目录下.平常自己电脑测试没问题 发到客户那里总会有各种乱七八糟的状况 反映配置无法保存.先前早知道win7有管理员权限的机制,然后还刻 ...

  8. 将个人PC转变为高效的云电脑:理论、实践与优化

    本文分享自天翼云开发者社区<将个人PC转变为高效的云电脑:理论.实践与优化>,作者:不知不觉 在数字化时代的今天,我们越来越依赖互联网和计算机技术进行工作和生活.然而,传统的个人电脑(PC ...

  9. Doris端口列表

    实例名称 端口名称 默认端口 通讯方向 说明 BE be_port 9060 FE --> BE BE 上 thrift server 的端口,用于接收来自 FE 的请求 BE webserve ...

  10. 函数static的作用

    限制作用域和保持状态 ‌函数static的作用主要体现在限制作用域和保持状态两个方面.‌‌1 限制作用域 ‌静态全局变量‌:在全局变量前加上static关键字,该变量就被定义成为一个静态全局变量.这种 ...