Java面向对象三大基本特征

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

三大特征:封装,继承,多态

目录

特征一:封装 

封装是什么:

封装的含义:

实现封装的目的

关键字:--->访问控制符

getter和setter方法:

特征二:继承

在Java中类的继承:

继承的对象:

继承的使用---->Java是单继承,可多层继承    

继承中修饰符protected的使用:

  方法重写与方法重载的区别:

抽象类abstract class:

this和super的区别:

接口 interface :

 最终类 final class :

特征三:多态

语法要求:

多态现象的发生:

多态中Java引用的两个类型;

内部类(标识:$)

lambda 表达式 : (参数列表)-> 执行语句


特征一:封装 

  • 封装是什么:

面向对象编程语言对客观世界的模拟。

(客观世界指的是对象的状态信息都被隐藏在对象内部外界无法直接操作和修改)

分层理解:1.将对象的信息隐藏在对象内部。

                  2.不允许外部程序直接访问对象内部信息。

                  3.通过该类所提供的方法来实现对内部信息的操作和访问。

  • 封装的含义:

  把该封装的封装,该暴露的暴露。

(即实现良好的封装所具备的条件)

分层理解:1.将对象的成员变量和实现细节隐藏起来,不允许外部直接访问。

                  2.把方法暴露出来,让方法来控制对这些成员变量进行安全的访问和操作。

  • 实现封装的目的

 1.隐藏类的实现细节

 2.让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对成员变量的不合理使用

 3.可进行数据检查,从而有利于保证对象信息的完整性

 4.便于修改提高代码的可维护性。

  • 关键字:--->访问控制符

private默认不写protectedpublic
在类中在同包内在子类当中

范围在任意地方都可以

修饰的方法和属性不能被继承   

 

  • getter和setter方法:

gettersetter
用于获取属性的值用于修改属性的名

语法格式:

属性 数据类型  get变量名(){

return 变量名;

}

语法格式:

属性 数据类型  set变量名(int new变量名){

变量名 = new变量名;

}

                           格式:         get变量名和  new变量名中的变量名的首字母大写

特征二:继承

在程序中,继承描述的是事物之间的所属关系,通过集成可以在多种事物之间形成一种关系体系

  • 在Java中类的继承:

         指得是在一个现有的类的基础上去构建一个新的类,构建出的新的类被称为子类,子类会自动拥有父类所有可继承的属性和方法

  • 继承的对象:

         可见的成员(成员指的是:成员变量和成员方法)

继承的格式

class 子类 extends  父类(){

}

 

 

 

  • 继承的使用---->Java是单继承,可多层继承    

         1.在程序中,如果想声明一个类继承另一个类,需要使用关键字extends

         2.继承的优点:减少冗余重复代码,便于维护

  • 继承中修饰符protected的使用:

         1.在直接子类中都可以使用

            

父类中的使用protected  数据类型 父类;
直接子类中的使用this.父类

         2.子类对象外部无法访问(即不可挎包使用---->解决挎包问题的方法:方法重写(即扩大使用范围));

             继承后方法重写的原因:子类无法使用父类中定义的方法。

         3.不能再创建对象之后,用对象去.(点)父类中的protected属性。

  •   方法重写与方法重载的区别:

方法重写方法重载
同方法名同方法名

同参数列表

不能抛出更多异常

参数列表不同(必须的)

访问范围需变化,其他位置不变

(子类重写的访问权限>=父类的访问权限

子类重写的返回值类型<=父类的返回值类型)

与返回值无关

方法签名不可变(只允许访问范围可升级)

 

《---方法签名(方法名和参数列表)----》

即同名不同参
  • 抽象类abstract class

           在某种环境下,不满足完成一个类的条件呢,此时需要保留已完成的和未完成的。

              1.可以有抽象方法,也可以没有抽象方法

              2.非抽象方法中是可以有具体功能的方法

              3.抽象类中不能创建(实例化)对象,但有构造方法

            (构造方法仅仅是是用来初始化父类型中的成员)

              4.抽象类的用途:

                a)半成品,做模板

                b) 天生的父类

                c) 举例子描述,比如设计的各个环节,其中有未完工的部分

               5.抽象类的修饰符:

private 修饰static 修饰
不可用不可用
原因是必须被子类继承后重写,权限不能 为 private 。

原因是加上静态 static 关键字后,

调用方式是 类名.静态方法名,而该方法还没有实现,调用无意义,

 

  • this和super的区别:

                                 this和super不可同时存在      (少参会调多参)
this(代表当前类的实例)super

this()调用本类的有参构造方法

且必须放于构造方法的第一行

(只能调用一个构造方法)

super()默认调用父类的构造方法

this.   调用类中的属性和方法,

但不能调用构造方法

 

 
  • 接口 interface :

             1.  接口中的成员属性:都是常量

              2. 命名规则:全大写,多单词以下划线连接

              3.极端抽象类(jdk7中) ,方法全是抽象方法(jdk7中普通方法不能在接口中定义)

              4. 里面只有常量和抽象方法,以及静态方法(jdk8)和默认方法(jdk8)

                   (静态方法--->属于类,被类的所有实例共享,接口实现类对象不能调用接口中的静态方法)

                  jdk8中的函数式接口:指一个接口有且只有一个抽象方法。(注解标记为:@FunctionalInterface,以此检查)

              5.关系:(实现关系属于继承)

类与类接口与接口(likeA)接口与类类与抽象类接口与抽象类
继承关系(单继承)继承关系(多继承)实现关系继承关系(单继承)实现关系
extendsinterface A extends B,C,D

class A  implements B,C,D

 

一般以Impl结尾

extendsimplements

 

             6.接口实现类需要实现接口中所有抽象方法。(实现类和接口之间是多态关系)

  •  最终类 final class :

             1. 不能被任何类继承,即没有子类,没有多态!

             2.里面的方法都是最终方法,不能被修改。

             3.一般用来做一个工具类 (一个类没有继承任何一个类,哪么类默认继承Object类)

特征三:多态

  • 语法要求:

             1.必须有关系(继承或实现);

             2.父类型引用指向子类型实例。

  • 多态现象的发生:

              必须存在重写的方法,此时才有多态现象

  • 多态中Java引用的两个类型;

编译时类型(看左)运行时类型(看右)
父类引用的方法是否存在父类实例的重写后的该方法

类型的判断和转换:instanceof

     判断左边的类型是否是右边的实例(类型转换异常:ClassCastExpection

参数多态:

      在进行api设计时,一般都是参数多态

      不会写一个具体的子类,而是写父类型或接口类型

( 子类当做父类来用)  

  • 内部类(标识:$)

成员内部类
静态内部类
局部内部类
匿名内部类(     jdk8 匿名内部类中外部对象的 final 可以省略   )

 

  • lambda 表达式 : (参数列表)-> 执行语句

 

 

 

制造业信息化的现实困局与未来展望:从基础到数字化的挑战与机遇 随着全球科技的发展市场竞争的加剧,制造业的转型升级成为企业必须面临的挑战。在信息化数字化的浪潮下,许多企业试图通过技术创新来提升自身竞争力。然而,现实情况是,绝大部分制造业企业的基本信息化都尚未完成,更遑论复杂的数字化。那么,制造业在信息化进程中面对哪些阻碍?未来又该如何实现从基础信息化到数字化的转型? 阅读详情

相关推荐

【解决方案】使用transformer指定显卡后,模型依然加载到默认第1张显卡上

按理说指定了环境变量为后面几张显卡,模型会自动加载到我们指定的显卡上。可是查看gpu使用情况,发现还是加载在了第一张显卡上,这是为啥呢?

m0_56745306的博客 2415

面向对象三大特征

面向对象三大特征——封装继承多态

Demon_and_Angle_的博客 1万+

【OpenClaw企业级智能体实战】第32篇:政企版OpenClaw安全落地指南——奇安信55页报告深度拆解与实战

2026年Q2,OpenClaw(俗称“龙虾”)安全风险集中爆发,公安部、工信部等监管机构密集发声,23万公网暴露实例、155个高危漏洞让企业“养虾”安全压力骤增。奇安信发布的55页《政企版龙虾安全使用指南》,以“看得清、管得住、用得好”为核心,构建了“端-网-云”三层防护体系。本文深度拆解这份报告的九大安全面与三大趋势,全景扫描奇安信、腾讯、360等头部厂商安全方案,提炼企业最低安全基线与实操配置,通过金融机构虚拟案例演示落地全流程,提供从资产摸底、规范制定到工具部署的完整解决方案。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 489

面向对象三大基本特征

面向对象三大基本特性:封装继承多态 一、封装 就是把客观事物封装成抽象的类,并且类可以把自己的数据方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。 一个对象他所封装的是自己的属性方法,所以它是不需要依赖其他对象...

qq_58595750的博客 8109

细说面向对象三大特征

面向对象三大特性

m0_71212413的博客 4796

面向对象的三个基本特征

面向对象的三个基本特征是:封装继承多态。 [img]http://www.cnitblog.com/images/cnitblog_com/lily/1972/o_OOBase.gif[/img] 封装 封装最好理解了。封装面向对象特征之一,是对象类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据方法只让可信的类或者对象操作,对不可信的...

Tears of a poet 2803

Java面向对象三大特征以及理解

Java面向对象三大特征为:封装继承多态,本文说说我对三大特性的理解。1.封装Java中的封装是指一个类把自己内部的实现细节进行隐藏,只暴露对外的接口(settergetter方法)。封装又分为属性的封装方法封装。把属性定义为私有的,它们通过settergetter方法来对属性的值进行设定获取。下面我举一个简单的封装例子public class Person { priva...

kuangsonghan的博客 2万+

java面向对象三大基本特征

转载,原文来自http://blog.sina.com.cn/s/blog_5f79a56a0100c6ig.html 众所周知,java中的面向对象三大基本特征是:【封装】、【继承】、【多态】 一、封装         对象要有一个明确的边界;边界的划分(对象各司其职、对象的粒度、对象的可重用性)         具体来说:                 1.属性: 私有

蓝天梦 1万+

Java面向对象知识详解——三大基本特征

相信很多程序员在最初接触Java的时候就听过,Java中一切皆对象那么什么是面向对象呢?前言先介绍什么是面向对象面向过程,这样有助于读者更好的理解面向对象面向过程顾名思义是一种以过程为中心的编程思想,自顶向下的编程模式,试想一下c语言。我们将问题分解开,一个一个函数来实现一个一个的步骤,依次调用。也就是说在进行面向过程编程时候,可以先定义一个函数,然后使用if-else等方式执行代码,下面我们来看用面向过程实现一个简单算法——冒泡排序if(cur == n) //递归边界 {i < n;

秋名山码民的技术小屋 9727

java面向对象三大基本特征五大原则

java面向对象三大基本特征五大原则1. 三大基本特征2. 五大基本原则 1. 三大基本特征 01:封装 封装面向对象里面最简单的也是最好理解的。通俗一点来讲的话,就是定义了一个类,类里面的方法是私有的,不能够被外界访问,防止其他程序来做更改。一般来说使用private来修饰。封装对数据提供了有效的保护。 02:继承 要记住java中只能单继承,如果要用多个请用实现。继承有子类...

Z__Sheng的博客 742

java面向对象三大基本特征

面向对象三大特征封装继承多态 一、封装 封装(Encapsulation)指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作访问封装可以实现以下目的: 1、隐藏类的实现细节; 2、让使用者只能通过事先预定的方法访问数据,从而可以在该方法里加入控制逻辑,限制对成员变量的不合理访问; 3、便于修改,提高代码的可维护性...

weixin_44603382的博客 817

java面向对象及其三大基本特征

面向对象编程思想 面向对象,简单来说就是由动作的执行者变为动作的操控者。结合具体例子来说就是使用某个人或者工具所具有的功能而不用去管功能的具体实现方式。例如现实中的项目开发,老板想要实现某些功能,但是他自己不会这些技术,所以他就会让员工去做这些事情,通过借助别的拥有你想要实现某些功能的过程就可以理解为面向对象面向对象是相对于面向过程的。 类与对象 接着来了解下什么是 类与对象,世界是由什么组成的...

qq_43060759的博客 606

Java面向对象三大基本特征

众所周知,java中的面向对象三大基本特征是:【封装】、【继承】、【多态】 一、封装 对象要有一个明确的边界;边界的划分(对象各司其职、对象的粒度、对象的可重用性) 具体来说: 1.属性: 私有 private(提供setget方法) 2.方法: 公开或私有public/private 3.方法声明 --> 公开 方法实现 --> 隐藏 实

ShanMeng_X的博客 259

JAVA中的面向对象三大基本特征

JAVA中的面向对象三大基本特征:封装继承多态; ①封装---概念:将类的信息隐藏在类内部,外部程序无法直接访问,只能通过该类提供的方法实现对隐藏信息的访问; 好处:1、只能通过规定的方法访问;2、隐藏类的实例细节,方便修改实现。 实现步骤:1、修改属性或者方法的可见性.比如:设为private;2、创建gettersetter方法,用于属性的读写;3、在getterset...

一只柠檬阿 735

Java基础篇——面向对象三大基本特征

目录 1、面向对象思想 1.1、面向对象定义 1.2、面向对象与面向过程的区别 1.3、类的对象 2、三大基本特征 2.1、封装 2.2、继承 2.3、多态 多态优点: 多态存在三个必要条件: 3、补充:抽象 Java面向对象的高级编程语言,类对象是 Java 程序的构成核心。围绕着 Java Java 对象,有三大基本特性:封装继承多态封装Java 类的编写规范,继承是类与类之间联系的一种形式,而多态为系统组件或模块之间解耦提供了解决方案。 1、面向..

Flychuer的专栏 1167

Java面向对象三大基本特征多态

Java面向对象三大基本特征多态

lv121218的博客 1622

java面向对象三大基本特征

面向对象基本特征封装继承多态。 (1)封装 封装是指将对象的相关信息捆绑为一个逻辑单位。通过封装可以隐藏一个类的实现细节,开发者可以通过指定的方法访问该类的对象,而不必关心其内部细节。 (2)继承 继承是指一个类继承另一个类后,即可以获得另一个类的属性方法。通过类的继承,实现了代码的重复利用,在子类中可以新增属性方法,并且可以重写父类中方法的具体实现。在jav

迷茫的羔羊 539

java中的面向对象三大基本特征

转载,原文来自http://blog.sina.com.cn/s/blog_5f79a56a0100c6ig.html 众所周知,java中的面向对象三大基本特征是:【封装】、【继承】、【多态】 一、封装         对象要有一个明确的边界;边界的划分(对象各司其职、对象的粒度、对象的可重用性)         具体来说:                 1.属性: 私

飞鸟快快的专栏 688
上一篇: Java基础语法总结(一)——类与对象
下一篇: Java连接SQL sever2008数据库
纤悉儿
博客等级 码龄8年 5粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值