Java面向对象三大特性

tft_espi 中文字体及自定义字体制作(tft.eSPI模块) tft.eSPI库自定义字体方法 先下载 processing 然后安装到mixly安装目录下找到tft_eSPI文件夹。 阅读详情

本BLOG上原创文章未经本人许可,不得用于商业用途。转载请注明出处,否则保留追究法律责任的权利。

一、封装

  • 基本概念:

    封装是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。

    封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

    要访问该类的代码和数据,必须通过严格的接口控制。

    封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

    适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

    通常情况下,测试类可以对封装类的成员变量进行赋值,但当赋值的数据合法但不符合实际时,无论在编译阶段还是运行阶段都不会报错或提示,为了避免上述错误发生,就需要对成员变量进行密封包装处理,即封装。

    封装就是一种保证成员变量赋值合理性的机制。

  • 优点:

    1. 良好的封装能够减少耦合。
    2. 类内部的结构可以自由修改。
    3. 可以对成员变量进行更精确的控制。
    4. 隐藏信息,实现细节。
  • 封装的具体实现步骤:

    1. 私有化成员变量,确保外部的调用者无法直接赋值,使用private关键字修饰。

      private表示私有含义,修饰的成员变量只能在本类内部使用。

      private String name;
      private int age;
      
    2. 提供公有的get和set方法,并在方法中进行合理值的判断。

      public表示公有含义,修饰的方法可以在任意位置调用。

      public void setAge(int age) {
      		if (age > 0) {	//年龄合理化判断
      			this.age = age;
      		}else {
      			System.out.println("年龄不合理");
      		}
      	}
      
      1. 在构造方法中调用set方法进行合理值的判断
      public People(String name, int age) {
      		//this.name = name;
      		//this.age = age;
      		setName(name);
      		setAge(age);
      	}
      

二、继承

  • 基本概念:

    当多个类之间有相同的特征和行为时,可以将相同的内容提取出来组成一个公共类,让对多个类吸收公共类中已有特征和行为而在多个类的内部编写自己独有特征和行为的机制,叫做继承。

  • 优点:可以提高代码的复用性和拓展性以及可维护性。

  • 缺点:提高了类之间的耦合性(耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。

  • 在Java中使用extend(扩展)关键字来表达继承关系。

    代码示例

    public class Student extends Person {} // 表示Student类继承Person类
    //其中Person类叫做基类、父类、超类
    //Student类叫做派生类、子类、孩子类
    
  • 注意:

    1. 子类可以继承父类的成员变量和成员方法,其中私有成员变量可以继承但不可以直接使用,不可以继承构造方法和私有方法。
    2. 无论使用何种方式构造子类对象时,都会自动调用父类中的无参构造方法来初始化从父类中继承下来的成员变量,相当于在子类构造方法第一行增加代码:super()的效果。
    3. 使用继承必须满足 子类 is a 父类 的逻辑关系,也就是不能滥用继承。
    4. Java中只支持单继承不支持多继承。

三、多态

  • 基本概念

    多态主要指同一事物表现出的多种形态。

  • 语法格式

    父类类型 引用变量名 = new 子类类型();

    代码示例:

    Person worker = new Worker();
    worker.show();
    

    解析:在编译阶段调用Person类中的show方法,在运行阶段调用Worker类中重写以后的show方法。

  • 多态的效果:

    1. 当父类的引用指向子类的对象时,父类的引用可以直接调用父类独有的方法;
    2. 当父类的引用指向子类的对象时,父类的引用不可以直接调用子类独有的方法;
    3. 对于父子类都有的非静态成员方法来说,编译阶段用父类版本,运行阶段调用子类重写后的版本;
    4. 对于父子类都有的静态方法来说,编译和运行姐u的那调用父类版本,隶属于类层级,因此与指向的对象无关。
  • 优点

    1. 消除类型之间的耦合关系
    2. 可替换性
    3. 可扩充性
    4. 接口性
    5. 灵活性
    6. 简化性
  • 多态存在的三个必要条件

    1. 继承
    2. 重写
    3. 父类引用指向子类对象:Parent p = new Child();
  • 多态实现的方式

    方式一:重写
    方式二:接口
    方式三:抽象类和抽象方法

  • 多态的意义

    在于可以屏蔽不同子类的差异性实现通用的编程,但可以调用不同的方法带来不同的结果

  • 多态的使用场合

  1. 通过方法的参数传递形成多态

    public static void draw(Shape s){}	//测试类中自定义的成员方法
    TestShape.draw(new Rect(1,2,3,4));	//main函数中调用成员方法并传入创建的形参子类对象
    
  2. 在方法体中直接使用多态的语法格式

    TestAbstract ta = new SubTestAbstract();
    
  3. 通过方法的返回值类型,即返回子类的对象形成多态。

手机银行应用架构设计 网上银行借助互联网、移动通信网络等技术向客户提供金融服务,易受到通讯层面的安全威胁,金融机构应从通讯协议、安全认证、通信链路安全等层面,采取措施有效应对相关风险。网上银行系统服务器端提供网上银行应用服务和核心业务处理功能,金融机构应充分利用物理环境、通信网络、计算环境等领域的防护技术,在攻击者和受保护的资源间建立多道严密的安全防线。 网上银行除直接向用户提供金融服务外,也可能与外部机构开展业务合作。在网上银行系统设计、开发、部署和运营过程中,应充分考虑外部机构的系统可能存在的安全风险,并针对各类风险进行有效 阅读详情

相关推荐

VLA-JEPA:具身智能中潜空间世界模型的工程落地实践

世界模型是具身智能实现环境理解与因果推演的核心基础,其本质是在状态空间中建模‘动作→结果’的动力学规律。传统基于像素或文本的世界模型因高维、非平稳、弱语义等缺陷,在真实机器人场景中鲁棒性差、部署成本高。JEPA(联合嵌入预测架构)通过构建物理约束的潜空间,将视觉-语言-动作(VLA)信号统一编码为低维、可微、可解释的状态表征,显著提升模型对抖动、遮挡、光照突变等干扰的适应能力,并支持实时闭环控制。该范式已在UR5e、Franka等多构型机械臂及Jetson边缘平台完成实测验证,成为VLA系统从实验室走向产线

weixin_34357928的博客 336

Java面向对象编程之三大特性

一:面向对象编程三大特性 (1)继承 (2)封装 (3)多态 二:接口,内部类,抽象类 三:常见关键字:this,super,static,final

尚拙的博客 1万+

中标麒麟,postgres报错invalid value for parameter "timeZone":"Asia/Beijing"

在中标麒麟服务器上,安装postgres,启动tomcat容器时,报invalid value for parameter "timeZone":"Asia/Beijing"。 查看postgres运行日志,也报同样的错误。 报错原因:服务器的时区,在Postgres支持的时区目录中找不到。当时在服务器上信息为Beijing 解决步骤: 1. cat /etc/sysconfig/cloc

u010213931的博客 7924

JAVA面向对象三大特性

JAVA面向对象三大特性 文章目录JAVA面向对象三大特性面向对象面向对象生命周期封装概念:封装步骤:关于JAVA关键字this关键字构造方法:构造方法作用:继承概念:语法结构:继承与扩展方法的重载方法的覆盖final关键字super关键字继承和类实例化过程多态概念:作用:多态存在的三个必要条件多态的好处: Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心。围绕着 Java...

dragon3100的博客 1232

QT绘制饼图+柱状图+折线图

使用qt绘制,折线图,饼图,柱状图,多柱状图

梅山 3877

DRV8870电机驱动芯片原理与嵌入式多平台驱动开发

H桥电机驱动芯片是直流电机控制的核心硬件模块,其通过双MOSFET拓扑实现方向与速度的精确调控。工作原理基于电荷泵自举驱动、集成电流检测及多重硬件保护机制,技术价值体现在高集成度、宽压适配(4.5V–45V)与强鲁棒性。典型应用场景涵盖智能机器人执行器、工业自动化设备及电池供电移动终端。本文围绕DRV8870这一主流驱动芯片,深入解析其PH/EN与Dual PWM双控制模式、nFAULT故障响应机制,并结合Arduino/ESP32/STM32三大平台,提供可复用的跨MCU驱动库设计范式与FreeRTOS实

weixin_32251525的博客 655

Java面向对象三大特性深度解析

Java面向对象编程(OOP)是构建复杂软件系统的核心思想。而封装、继承、多态作为面向对象的三大特性,更是理解和掌握 Java 编程的基石。它们不仅规范了代码的结构,还提升了代码的可维护性、可复用性和扩展性。本文将通过原理剖析、代码示例和场景分析,全面解读这三大特性的本质与实践方法。

aa_hdkf_vg的博客 925

【Python百日进阶-Web开发-Feffery】Day385 -“一起Dash”训练营Lesson-07_利用fac构建表单(上)

文章目录前言:fac是什么?“人生苦短,我用Python;Web开发,首选Feffery!”↓↓↓ 今日笔记 ↓↓↓一、费老师课堂1.1 什么是表单1.2 页面效果1.3 课堂源码二、课后作业2.1 页面效果2.2 项目源码 前言:fac是什么? feffery-antd-components(简称fac),是国内大佬费弗里(Feffery)老师基于著名的React UI组件库ant design进行二次开发,将ant design中的诸多实用组件及特性引入Dash,帮助开发者使用极低的纯Python代

专注于医院数据分析技术与系统开发的创作与分享。 250

Java面向对象的三大特性

Java面向对象的三大特性继承 关键字:extends 概念:继承机制是面向对象程序设计不可缺少的关键概念,是实现软件可重用的根基,是调高软件系统的可扩展性与可维护性的主要途径。所谓继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用,子类能吸收已有类的数据属性和行为,并能扩展新的能力。 在Java中,类的继承是单继承。 继承中构造方法的调用子类构造方法总是先调用

Zhang1057503612的博客 693

【考试大纲】中级多媒体应用设计师考试大纲

中级多媒体应用设计师考试大纲

邓邓子的博客 382

MATLAB基础应用精讲-【数模应用】信用评分模型(附R语言和python代码实现)

信用评分模型是近年来兴起的一种为了保障银行和其他金融部门的金融安全而设立的一种关于人身金融权限的划定模型。该模型指根据客户的信用历史资料,利用一定的信用评分模型,得到不同等级的信用分数,根据客户的信用分数,来决定客户所可以持有的金额权限,从而保证还款等业务的安全性。而随着在现代社会和公司中,贷款,信用卡的作用日渐突出,信用评分模型的发展前景不可估量。信贷风险是指借款人因偿还贷款或履行合同承诺而破产而产生损失的可能性。传统上,它与贷款人无法偿还所欠利息和本金、影响现金流和增加装配成本所产生的风险有关。

qq_36130719的博客 364

Java面向对象三大特性详解

一、封装 1、概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。 2、好处: 只能通过规定的方法访问数据。 隐藏类的实例细节,方便修改和实现。 3、封装的实现步骤       需要注意:对封装的属性不一定要通过get/set方法,其他方法也可以对封装的属性进行操作。当然最好使用get/set方法,比较标准。 A、访问修饰...

Java笔记 4120

【ComfyUI】FluxKontext 人物服装平铺重构

本文介绍了一个基于ComfyUI的高保真服装语义提取工作流,利用FluxKontext模型实现人物服装结构的精准抽离与平铺展示。工作流包含图像输入、潜空间处理、语义引导和生成输出四个阶段,通过Flux_Kontext_dev_fp8主模型、双CLIP文本编码和VAE转换等核心组件,配合FluxKontextImageScale、ReferenceLatent等节点完成服装结构的稳定提取。流程中CLIPTextEncode负责语义解析,FluxGuidance强化引导力度,KSampler执行最终生成,最终输

Mr数据杨 955

Java基础-面向对象三大特性

Java面向对象三大特性,封装,继承,多态

m0_75024203的博客 1290

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

java 对象的三大特性_Java面向对象的三大特性

Java面向对象的三大特性Java面向对象的三大特性分别为:封装、继承、多态,下面我们一起来详细了解一下!1.封装:说得通俗一点,就是把细节隐藏起来,把该公开的公开,把该私有的私有。那如何封装一个类?类中含属性和方法, 属性可有可无,并且应该设置为private.方法可有可无,对外的方法的应该公开,对内的方法应该私有.一个类的方法,大致有:构造方法 -> 可以生成存/取 属性值的方法,也就是...

weixin_39611070的博客 225

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Java——面向对象的三大特性

• 概念:让一个类(子类、派生类)可以继承另一个类(父类、基类)的属性和方法,子类还可扩展自身特有的属性和方法,实现代码复用。在 Java 中,通过 extends 关键字实现继承(一个子类只能直接继承一个父类,即单继承,但可通过接口实现类似多继承的效果 )。• 概念:把对象的属性(成员变量)和行为(成员方法)结合为一个整体,隐藏对象的实现细节,仅对外暴露有限的、可控的访问方式。◦ 建立类之间的层次关系,体现“is - a”关系(如“狗”是“动物”的子类 ),让程序结构更清晰,便于理解和扩展。

Q_Qi66的博客 368

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

java面向对象三大特性难吗_JAVA面向对象的三大特性

JAVA面向对象的三大特性每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。下面是小编整理的关于JAVA面向对象的三大特性,希望大家认真阅读!封装性理解封装性概念封装是将代码及其处理的数据绑定在一起的一种编程机制,该机制保证了程序(方法)和数据(属性)都不受外部干扰且不被误用。理解封...

weixin_30128191的博客 194

Java面向对象编程的三大特性

1. 面向对象编程的三大特性 Java 面向对象编程有三大特性:封装、继承、多态。 1.1 封装(Encapsulation) 封装 隐藏对象的属性和实现细节,仅对外公开访问方法,控制在程序中属性的读和写的访问级别。 1.1.1 封装的目的 增强安全性和简化编程,使用者不必了解具体的实现细节,而只要通过对外公开的访问方法,来使用类的成员。 1.1.2 封装的基本要求 把所有的属性私有化。 对每个属性提供 getter 和 setter 方法。 如果有一个带参的构造函数的话,那一定要写一个不带

GGGGGSole的博客 723

Java面向对象三大特性的理解

Java面向对象三大特性:封装、继承、多态

liweihua1993的博客 554

JAVA面向对象的三大特性

JAVA中面向对象的三个特性的概念及其实现 java面向对象程序设计具有三个很重要的特点:封装、继承、多态。 封装是面向对象编程的核心思想。将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,就是封装的实现思想。例如用户在使用计算机时,只需要使用手指敲击键盘就可以实现一些功能,无需知道计算机内部是如何工作的,即使可能知道计算机的工作原理,但是在使用计算机的时候也并不完全依赖于计算...

qq_41583415的博客 216

浅谈JAVA面向对象的三大特性

Java面向对象三大特性

Tmlvml的博客 1213

Java 面向对象三大特性

子类(Subclass)继承父类(Superclass)的属性和方法,体现 “is-a” 关系(如 “狗是动物”),实现代码复用。将对象的属性和方法 “包装” 在类中,隐藏内部实现细节,只对外暴露必要的访问接口,保证数据安全性和一致性。父类引用指向子类对象,同一方法调用在不同场景下表现出不同行为,体现 “同一接口,多种实现”。

zwh7766的博客 478

Java 面向对象的三大特性

将数据(属性)和行为(方法)捆绑在一起,并对外隐藏实现细节。

记录学习的过程 522
上一篇: Spring的第一个核心功能IOC
下一篇: 引用数据类型之间的转换
后浪Rocky
博客等级 码龄7年 2粉丝 19原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值