Java面向对象三大特点

2023-11-12

Java面向对象三大特点

一、封装性

  • ​ 封装一般是:把所有的属性私有化,对每个属性提供getter和setter方法,如果有一个带参的构造函数的话,那一定要写一个不带参的构造函数。

    ​ 数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。

  • 使用封装好处:

              1、良好的封装能够减少耦合。

               2、类内部的结构可以自由修改。

              3、可以对成员进行更精确的控制。

              4、隐藏信息,实现细节。

    二、继承性

  • 继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承我们能够非常方便地复用以前的代码,能够大大的提高开发的效率。

​ 继承而得到的类称为子类,被继承的类称为父类。子类不能继承父类中访问权限为private的成员变量和方 法。子类可以重写父类的方法,及命名与父类同名的成员变量。

​ 使用继承的优点,除了将所有子类的共同属性放入父类,实现代码共享,避免重复外,还可以使得修改扩展继承而来的实现比较简单。

三、多态性

  • ​ 多态又分为设计时多态和运行时多态,例如重载又被称为设计时多态,而对于覆盖或继承的方法,JAVA运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法则被称为运行时多态。

    ​ 多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java面向对象三大特点 的相关文章

随机推荐

  • 宝塔重置密码 mysql_linux宝塔面板安装 宝塔重置密码等常用命令

    安装宝塔 Centos安装脚本 yum install y wget wget O install sh http download bt cn install install sh sh install sh Ubuntu Deepin安
  • Unity 使用 Visual Studio 调试 Android 真机

    开始之前 保证自己能够build 出apk 一 Build Settings 设置 二 点击Build And Run 三 利用vs 调试代码 我就是想调试代码 但是 就是这个AndroidPlayer 一直出不来 卡了很久 我是这么解决的
  • ifconfig命令及详细介绍

    在 实体机上 ifconfig 命令用于 显示或配置网络设备 网络接口卡 或修改 以CentOS 7为例 ifconfig a 所有网卡信息 一 显示内容分析 1 ens33 以太网接口 virbr0 virbr nic类似 ens33 f
  • 灰度发布、蓝绿部署、金丝雀都是啥?

    目录 滚动部署 蓝绿发布 为什么还需要蓝绿 金丝雀发布 canary 金丝雀和蓝绿的对比 灰度发布 A B Test 实现 kubernetes istio spring cloud 网关 参考 滚动部署 在滚动部署中 应用的新版本逐步替换
  • Textbooks Are All You Need II: phi-1.5 technical report

    本文是LLM系列文章 针对 Textbooks Are All You Need II phi 1 5 technical report 的翻译 教科书是你所需要的一切 phi 1 5技术报告 摘要 1 引言 2 技术规范 3 基准结果 4
  • 大数据平台搭建

    一 安装前准备 1 查看防火墙状态 2 关闭防火墙 分别在三台虚拟机上操作 root slave2 systemctl status firewalld service firewalld service firewalld dynamic
  • 全国大学生电子设计大赛赛前必备PID控制平衡车代码-pid实例

    全国大学生电子设计大赛平衡车完整代码arduino PID控制实例 This code is used for connecting arduino to serial mpu6050 module and test in arduino
  • 大话Stable-Diffusion-Webui-客制化主题(四)

    文章目录 目标 效果 开始 重要说明 单选框以及复选框图标样式更改 gradio主题构建器上传主题方式 代码上传主题方式 目标 在DIY的主题中更改gradio单选框组件以及复选框组件的勾选后图标样式 效果 开始 笔者在使用gradio的主
  • CORS跨域请求及实现机制

    一 什么是CORS CORS是一个W3C标准 全称是 跨域资源共享 Cross origin resource sharing 它允许浏览器向跨源服务器 发出XMLHttpRequest请求 从而克服了AJAX只能同源使用的限制 只要服务器
  • 设计模式--工厂模式

    总的说来 工厂模式有两种 工厂方法和抽象工厂 工厂方法模式定义了一个创建对象的接口 但由子类决定要实例化的类是哪一个 工厂方法让类把实例化方法推迟到子类 利用工厂方法创建对象 通常需要继承一个类 并覆盖它的工厂方法 举例如下 还是来自 He
  • BES SDK环境搭建与固件烧录

    搭建编译环境 安装虚拟机后需要安装编译工具链 有些SDK需要较高的GCC版本 自动安装 ubuntu16 04和ubuntu18 04都可以自动安装 只是默认版本号高低不同 Ubuntu18 04下为gcc version 6 3 1 20
  • visio导出高质量图片

    作者 久渝 链接 https www zhihu com question 39146184 answer 890602652 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 在visio对象另存为图片的时候
  • [524]as_matrix将表格转换为矩阵

    coding utf 8 构建并测试CART决策树模型 import pandas as pd 导入数据分析库 from random import shuffle 导入随机函数shuffle 用来打乱数据 import matplotli
  • C/S模式和B/S模式区别及其优缺点

    1 C S模式 C S模式又称C S结构 是软件系统体系结构的一种 C S模式与B S模式相比 C S模式应用系统最大的优点是不依赖企业外网环境 即无论企业是否能够上网 都不影响使用 C S模式需要安装后才能使用 即以软件的形式存在 优点
  • Hadoop-分布式文件系统HDFS

    目录 HDFS简介 HDFS特点 HDFS相关概念 1 块 2 名称节点和数据节点 HDFS体系结构 1 HDFS体系结构概述 2 HDFS命名空间管理 3 通信协议 4 HDFS体系结构的局限性 HDFS常用的shell命令 HDFS简介
  • 用matlab写的径向分布函数RDF

    RDF是径向分布函数Radical distribution function的缩写 指的是给定一个空间 在此空间以一个对象为中心 去寻找周围对象的的概率 对于分子模拟的径向分布函数实则也是求解粒子在周期性边界盒子的区域密度和全局密度的比值
  • webpack无损压缩本地静态资源图片image-minimizer-webpack-plugin

    开发如果项目中引用了较多图片 那么图片体积会比较大 将来请求速度比较慢 我们可以对图片进行压缩 减少图片体积 一 image minimizer webpack plugin介绍 Image minimizer webpack plugin
  • STM32控制42步进电机

    首先采用TB6600驱动外接12VDC电源 STM32选c8t6最小系统板 接线TB6600跟32接线有共阴级接法 把ENA DIR PUL 与32共地 也有共阳接法 把ENA DIR PUL 与32共地 这里选共阴级接法 判断42步进电机
  • Python3面向对象编程

    1 类名用驼峰法 每个单词首字母大写 2 Python有构造函数 new 和初始化函数 init 3 绝对导入 需要指明模块 函数的完整路径 相对导入 4 每个模块的 name 属性 导入的时候赋值模块名字 直接执行的时候赋值 main 5
  • Java面向对象三大特点

    Java面向对象三大特点 一 封装性 封装一般是 把所有的属性私有化 对每个属性提供getter和setter方法 如果有一个带参的构造函数的话 那一定要写一个不带参的构造函数 数据被保护在抽象数据类型的内部 尽可能地隐藏内部的细节 只保留