面向对象的三大特征和反射(八股)

Java面试八股文(自用)(二) 本文为面试常见八股文,祝所见之人顺利上岸!!! 阅读详情

封装:

指的是把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部消息。但是可以提供一些可以被外部访问的方法来操作属性。

继承:

子类用有父类对象所有的属性和方法(包括私有方法和私有属性),但是父类中的私有属性和方法子类是无法访问的,只是拥有。

子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

子类可以用自己的方法去实现父类的方法。

多态:

标识一个对象具有多种状态,具体表现为父类的引用指向子类的实例

对象类型和引用类型之间具有继承/实现的关系

引用类型变量发出的方法调用的到底是哪个类中的方法,必须在程序运行期间才能确立。

多态不能调用“只在子类存在但是父类不存在”的方法

如果子类重写了父类的方法,真正执行的是子类覆盖的方法,如果子类没有覆盖父类的方法,执行的是父类的方法。

反射:

Java提供的一种机制,允许程序咋i运行时动态的获取类的信息,创建对象,调用方法,访问字段等。通过反射,程序可以在运行时查看和操作类的结构(如类的名称,方法,字段,构造方法),甚至动态加载类,反射是Java提供的强大功能,但也可能带来性能开销。

反射是否打破了封装性:

技术层面:反射绕过了Java编译器和运行期访问权限的检查,在技术层面确实打破了封装性。

设计层面:反射的破封装是开发者的主动选择,而非封装机制本身的失效。且Java通过安全管理器,模块系统对其作了限制。

【C#】C#八股文 C#知识汇总 阅读详情

相关推荐

【八股文篇】Java 面试题

反射(Reflection)是一种在运行时检查、获取和操作类、对象、方法和属性的能力。它使得程序能够动态地获取类的信息,调用对象的方法,访问和修改对象的属性,以及在运行时创建新的对象实例。通过反射,我们可以在运行时获取类的名称、父类、接口、字段、方法等信息。还可以动态地创建对象、调用方法、访问和修改属性,即使在编译时我们并不知道这些信息。这使得我们能够编写更加灵活和通用的代码,实现一些动态的、可扩展的功能。在Java中,反射是通过java.lang.reflect包中的类和接口来实现的。

激流丶的博客 4101

Java八股文——Java基础篇

本文详细收集了Java八股文面试中常见的24个经典问题,并给出了详细的解答方案。

郎逸的博客 2151

Java基础问题——八股盛宴 | 3w字分享

Java基础八股整理,67道题目!

qq_74092815的博客 1383

Java基础(八股)

这里从 源码 的角度进行分析// 问:下面代码改变了String吗?//将字符串"abc" 存储在字符常量池中,s引用指向常量池中的这个字符串对象//答:没有–》如果没有修改原来的s,那发生什么了呢?将“afajie”存储在字符串常量池中:如果常量池中已经存在一个相同的字符串“afajie”,那么会重用这个对象引用s执行新的字符串对象:此时,s引用不再指向原来的“abc”字符串对象,而是指向常量池中“afajie”字符串对象。

m0_67466364的博客 904

pcb印刷电路缺陷检测----数据集准备

PKU-Market-PCB 印刷电路板 (PCB) 瑕疵数据集是一个公共合成 PCB 数据集,包含 1,386 张图像,具有 6 种缺陷(漏孔、鼠咬、开路、短路、杂散、杂铜),可用于图像检测、分类和配准任务。

qq_30190551的博客 4425

在运行opencv时出现的两个问题:AttributeError: module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipeline‘

解决了opencv的两个问题:由问题一引出 AttributeError: module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' cv2.error:OpenCV(4.1.2)C:\projects\opencvpython\opencv\modules\highgui\src\window.cpp:717:error: (-2:Unspecified error) The function is not implemented...

hu_yinghui的博客 3274

Java基础八股文

序号 内容 链接地址 1 Java基础八股文 https://zhuanlan.zhihu.com/p/379234291 2 Java容器八股文 敬请期待 3 Java异常八股文 https://zhuanlan.zhihu.com/p/377557779 https://blog.youkuaiyun.com/weixin_39290259/article/details/117229021 4 Java并发编程八股文 敬请期待 5 JVM八股文 敬请期待 6 Spring八股文...

weixin_39290259的博客 3397

SAP成本核算变式OKKN配置详解:从CK11N到CK24,手把手教你搞定标准成本发布

本文深入解析SAP成本核算变式OKKN的配置原理与实战应用,涵盖从CK11N到CK24的标准成本发布全流程。详细讲解数量结构控制、价值结构配置及间接费用计算规则,帮助成本会计精准掌握标准成本计算逻辑,解决BOM版本选择、工艺路线获取等常见问题,提升企业成本管理效率。

weixin_27219587的博客 286

Java面试八股文

Java面试八股文总结

hang_sa_mu的博客 2082

OmniDrive(3):逐行代码详解

模型效果: 端到端联合规划与推理 接下来,简单介绍下训练的配置 1.1 模型配置 模型基于sparse query based的3D Bev感知框架StreamPetr ,用query来编码动态目标(如车辆、行人)和静态地图元素(如车道线)。(1) tran、test和val数据配置 指定真值的文件路径: ann_file 指定输出处理的pipeline: 训练使用, test 和val使用 指定是否需要时序训练seq_mode (2)数据处理pipeline 自定义的Dataset 通过类实现,训

@bangbang的博客 719

ClawManager实战:OpenClaw批量部署+精细化权限管控,运维效率拉满90%

ClawManager彻底解决了OpenClaw规模化部署的运维痛点,它不是简单的“批量部署工具”,而是一套完整的企业级管理方案——从模板配置、批量部署,到权限管控、监控审计、AI治理,覆盖OpenClaw全生命周期管理,让OpenClaw从“个人工具”升级为“企业级AI基础设施”。对于中小企业,Docker一键部署即可快速落地,无需复杂配置;对于大型企业,K8s部署支持高可用、横向扩展,结合Keycloak对接企业现有认证系统,可完美融入企业IT架构。

2601_94871597的博客 607

十年资深面试官告诉你,现在Java面试八股文都已经卷到什么程度了

春招已经结束,很多同学会问Java面试八股文有必要背吗?我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。国内的互联网面试,恐怕是现存的、最接近科举考试的制度。而且,我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioral question,行为面试问题)。那么为什么国内面试不采取这样的考察方式呢?

weixin_50205273的博客 1235

【2025软考高级架构师】基础知识部分——6、软件架构设计

(1)架构是对系统的抽象(2)架构由多个结构组成(3)任何软件都存在架构(4)元素及其行为的集合构成架构的内容(5)架构具有“基础”性(6)架构隐含有“决策”

qq837993702的博客 1万+

Java八股文

JAVA八股文

like_wen的博客 481

基于Simulink的加速度计振动分析:单自由度质量-弹簧-阻尼系统

摘要:基于Simulink的加速度计单自由度振动分析 本文研究了加速度计的单自由度(SDOF)质量-弹簧-阻尼系统模型,通过MATLAB/Simulink平台建立了完整的振动分析仿真系统。文章详细阐述了理论建模过程,推导了系统运动微分方程和传递函数,并提供了Simulink模型搭建的具体步骤和MATLAB实现代码。研究通过正弦扫频、随机振动和冲击响应三种典型输入信号,分析了系统的幅频特性、相频特性及时域响应,验证了加速度计的工作机理。仿真结果表明,该方法能有效模拟加速度计在不同激励条件下的动态特性,为传感器

AI的内部世界的博客 163

手把手入门YOLO到改进优化教程 | 【P6进阶篇】YOLOv8模型剪枝优化实战-LAMP剪枝

本节首先介绍LAMP剪枝相关理论。然后结合YOLO框架,手把手搭建剪枝工程,包括配置文件修改、剪枝脚本构建等内容。

嵌入式阿齐Archie 2万+

Java基础八股(高质量,无废话)----持续更新

装箱:将基本类型用它们对应的引用类型包装起来拆箱:将包装类型转换成对应的基本类型装箱其实就是调用了包装类的valueOf()方法,拆箱就是调用了xxxValue()方法。

qq_70134930的博客 1236

ssm框架搭建

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

Java八股文-java基础面试题

面向对象是一种编程思想,它把现实世界的事物抽象成程序中的对象,通过对象之间的交互来完成需求。在 Java 中,对象是类的实例,类定义了对象的属性(字段)和行为(方法)。核心思想可以总结为:👉“一切皆对象,通过对象交互解决问题。封装、继承、多态。封装:隐藏细节,只暴露接口(对内保护)。继承:代码复用,类之间有层次(对上复用)。多态:同一接口,多种实现(对外灵活)。面向对象:通过这三大特性,把现实世界的对象抽象成代码里的类和对象,用对象的交互来解决问题。定义:使用abstract。

2302_81048526的博客 907

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

全网最详细JAVA八股文,欢迎收藏

基本数据类型,如int,float,double,boolean,char,byte,不具备对象的特征,不能调用方法。装箱:将基本类型转换成包装类对象拆箱:将包装类对象转换成基本类型的值java为什么要引入自动装箱和拆箱的功能?主要是用于java集合中,List list=new ArrayList();list集合如果要放整数的话,只能放对象,不能放基本类型,因此需要将整数自动装箱成对象。

stillfantasy77的博客 1900

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

理解八股文(5)

1.==:如果对于基本数据类型==比较的是值,如果是引用数据类型,==比较的就是内存地址(这句话很好理解,我举个例子:1+1==1这里比较的就是值他的数据类型是int引用数据类型比较的是内存地址,可能有人不太理解这句话如下图我们在Person里有一个String叫name,我们在下面新建了两个Person对象都叫做Alice,有人就要问了,这两个对象不是一样的吗?

weixin_64196291的博客 493

java guide 八股

string是不可变的(String 类中使用 final 关键字修饰字符数组来保存字符串,所以不可改变),其是线程安全的,stringbuffer也是线程安全的,但stringbuilder不是线程安全的,但其性能有提升。成员变量是属于类的,局部变量是方法内的,成员变量可以被public、private、static进行修饰,可以被外部访问,但成员变量不可以。try块:用于捕获异常。String 中的 equals 方法是被重写过的,因为 Object 的 equals 方法是比较的对象的内存地址,

buptlzl的博客 1620

Java基础常见八股

Java 泛型(Generics)是 JDK 5 中引入的一个新特性。使用泛型参数,可以增强代码的可读性以及稳定性。编译器可以对泛型参数进行检测,并且通过泛型参数可以指定传入的对象类型。比如这行代码就指明了该ArrayList对象只能传入Person对象,如果传入其他类型的对象就会报错。•适用于多种数据类型执行相同的代码•泛型中的类型在使用时指定,不需要强制类型转换类型安全,编译器会检查类型Annotation。

IT_1024_的博客 901

Java面试八股文-基础篇

目录 1、java中操作字符串都有哪些类?它们之间有什么区别? 2、JDK和JRE有什么区别? 3、continue、break和return的区别是什么?/终止for循环的方式 4、面向对象三大特征 5、重写和重载的区别 6、final、finally、finalize三者的区别? 7、throw和throws的区别 8、接口和抽象类有什么共同点和区别? 9、为什么要有接口和继承? 10、抽象方法能不能加final? 11、Java为什么被称为平台无关性语言? 12、反射的运用场景

sinat_38779719的博客 1339

Java面试八股文大全

单例模式:某个类的实例在 多线程环境下只会被创建一次出来。单例模式有饿汉式单例模式、懒汉式单例模式和双检锁单例模式三种。

KUUU123的博客 1847

2023面试八股文 ——Java基础知识

面试Java基础知识,面试八股文,变成编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并 终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、 和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一 步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编 程。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了 C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易 用两个特征。

leader_song的博客 4108

Java面试八股文(2023最新)--Java基础面试题

持续更新ing

不知名菜鸡 2091
上一篇: Java-LinkedList的插入移除方法
下一篇: Spring中的AOP和IOC(八股文)
crossaspeed
博客等级 码龄3年 101粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值