Java基础一—面向对象三大特性

写在最前

本系列为个人对BAT大厂面试题与全栈知识体系结合的简化梳理及本人在日常学习中一些知识的整理(包括但不限于书本、他人博客、微信公众号等渠道),仅为个人总结学习与整理知识框架。供读者参考学习,共同进步。

隐藏对象的属性和实现细节,仅对外提供公共访问方式

  • public
    紧随其后的元素对任何人都是可用的
  • private
    除类型创建者和类型的内部方法之外的任何人都不能访问的元素
  • protected
    继承的类可以访问protected成员,但是不能访问private成员

Java还有一种默认的访问权限(default),当没有使用前面提到的任何访问指定词时,它将发挥作用。
这种权限通常被称为包访问权限,因为在这种权限下,类可以访问在同一个包中的其他类的成员,但是在包之外,这些成员如同指定了private一样。

继承实现了 IS-A 关系,子类可以继承自父类,从而获得父类非private的属性和方法。
继承是多态的前提

多态是指允许不同子类型的对象对同一行为作出不同的响应。
多态分为编译时多态和运行时多态:

编译时多态主要指方法的重载(overload)
运行时多态指程序中定义的对象引用所指向的具体类型在运行期间才确定

运行时多态有三个条件:

  • 继承
  • 覆盖(重写)(override)
  • 向上转型

把对某个对象引用视为对其基类类型的引用的做法被称作 向上转型

  • override
    重写,运行时的多态性。参数列表必须相同,返回值小于等于父类,抛出的异常小于等于父类,访问修饰符大于等于父类
  • overload
    重载,在同一个类中,出现了多个同名的方法。编译时的多态性,参数类型不同,个数不同,顺序不同, *与方法返回值和访问修饰符无关

Original: https://www.cnblogs.com/winter0730/p/15311772.html
Author: cos晓风残月
Title: Java基础一—面向对象三大特性

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/576274/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 互联网校招指北

    这篇文章写着写着,突然觉得《紧急救援》中有一句台词很对: “不是幸运给你机会,而是因为够坚持,才有了幸运的机会” 共勉~ 时间跨度 一年共两次校招季,2 月…

    数据库 2023年6月6日
    092
  • IDEA中如何查看接口的所有实现类呢?

    接口是我们日常开发中常用的操作,那么如何查看一个接口有哪些实现类呢?下文笔者将讲述IDEA编辑器中 查看实现类的快捷方法,如下所示 在spring源码阅读中,每一个接口都有很多实现…

    数据库 2023年6月11日
    084
  • tomcat服务的原理和使用

    一、tomcat与服务器的关系 服务器是指安装了服务器软件的计算机,而服务器软件是指接收用户请求,处理请求,返回请求结果的程序,常见的服务器软件有tomcat、iis等,也称为we…

    数据库 2023年6月14日
    0120
  • [转]failed to recv data in handshakeReceive2Callback

    一直用的好好地Shadowsocks今天突然发现打不开网页了,看了下日志发现被”failed to recv data in handshakeReceive2Call…

    数据库 2023年6月14日
    090
  • 数据结构与算法-农夫过河问题

    农夫过河问题——最短路径算法 问题描述:农夫用小木筏将狼、羊、菜从起始岸运到目标岸,小木筏每次只能带一种物品,也可以什么都不带,因为食物链的关系,人不在的时候,狼会吃羊,羊会吃菜,…

    数据库 2023年6月14日
    0114
  • Mysql索引总结

    一、索引分类 Hash索引:Hash 索引查询效率很高,时间复杂度O(1)。Mysql Innodb引擎不支持hash索引的。Hash索引适合精确查找,不适合范围查找。 平衡二叉树…

    数据库 2023年5月24日
    071
  • 史上最全面的mysql数据库下载安装教程(适合初学者)

    Original: https://www.cnblogs.com/chaichaichai/p/15330533.htmlAuthor: 牛仔码农Title: 史上最全面的mys…

    数据库 2023年5月24日
    0102
  • 03-MySQL事务

    数据库事务 1、事务特性 1.1、原子性 即不可分割性,事务要么全部被执行,要么就全部不被执行 1.2、一致性 事务的执行使得数据库从一种正确状态转换成另一种正确状态 1.3、隔离…

    数据库 2023年6月16日
    0107
  • 部署前后端为独立的 Docker 节点

    在『服务器部署 Vue 和 Django 项目的全记录』一文中,介绍了在服务器中使用 Nginx 部署前后端项目的过程。然而,当 Web 应用流量增多时,需要考虑负载均衡、流量分发…

    数据库 2023年6月14日
    0108
  • Java 杂记

    记载 Java 杂项的笔记和零碎的笔记 Java 杂记 一. Java 特性 1.1 封装 属性私有化,提供公共的可以访问的方法 1.2 继承(extends) Java &amp…

    数据库 2023年6月11日
    092
  • 9.回文数

    给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而…

    数据库 2023年6月16日
    070
  • redis cluster和hash slot

    redis cluster介绍 从redis3.0.0开始,官方支持了redis cluster的集群模式,结束了redis没有集群的时代。 redis cluster 支撑 N …

    数据库 2023年6月9日
    0159
  • CSS进阶内容—浮动和定位详解

    CSS进阶内容—浮动和定位详解 我们在学习了CSS的基本知识和盒子之后,就该了解一下网页的整体构成了 当然如果没有学习之前的知识,可以到我的主页中查看之前的文章: CSS的三种布局…

    数据库 2023年6月14日
    079
  • 未婚妻晚安之后依然在线,于是我用20行代码写了个小工具

    最近发现未婚妻一到晚上总是很忙的样子,每晚匆匆忙忙道过晚安就不说话了。 可是,QQ头像却会偶尔亮起来,我非常担心,是不是账号被盗了呢?然后,就想帮未婚妻排查一下,于是就用pytho…

    数据库 2023年6月14日
    080
  • iptables快速入门

    iptables简介 在生产实践过程中,为了保证生产安全,通常需要进行数据加密,例如通过网络层面上将应用隔离成内网和公网应用,内网再分成生产、测试、开发、DMZ等区域,然后进行不同…

    数据库 2023年6月14日
    0105
  • [Mysql]null与真值

    SQL的逻辑运算使用的是三值逻辑,逻辑表达式的计算结果有三种可能, true, false, unknown 比较运算的表达式含 NULL时会产生 unknown结果,例如 SEL…

    数据库 2023年6月16日
    087
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球