华为OD技术面真题 - JAVA开发 - 1

文章目录

  • JAVA跨平台是如何实现的
  • 面向对象三大特性
  • 重写和重载的区别
  • 讲讲JAVA中不同访问权限修饰符区别
  • 为什么要设计不同访问权限修饰符
  • String、StringBuffer和StringBuilder区别
  • HashCode、== 和 equals的区别

JAVA跨平台是如何实现的

java中经典的Write Once, Run Anywhere是基于JVM实现,Java 源码编译成与平台无关的字节码,由不同平台的 JVM 负责解释或编译执行。核心是通过加入JVM中间层屏蔽了操作系统和硬件的差异。

基于JVM带来的负面影响:

  • 性能损耗:多了一层 虚拟机,字节码 → 机器码需要转换,启动阶段存在解释和 JIT 成本。
  • 资源占用更高:JVM 自身需要内存,对小设备不友好。
  • 对底层系统能力的“隔离”:JVM 封装了操作系统,Java 标准 API 不暴露全部系统能力,例如一些CPU专用指令集、高性能I/O接口。

面向对象三大特性

封装:将数据和对数据的操作封装起来,对象状态(属性)由这个对象自己的行为(方法)来读取和改变,隐藏细节部分。java种常见会把属性设置为private,通过settergetter修改和获取属性。 目的:控制访问权限,降低耦合,提高安全性和可维护性

继承:子类复用父类的代码,并在此基础上扩展或修改行为。目的是为了代码复用

多态:同一个接口,不同对象,调用时表现出不同行为。调用方法时,运行期决定调用哪个子类的方法。目的:提高拓展性

重写和重载的区别

先用代码简单介绍什么是重写,什么是重载

// 重载 class MathUtil { int add(int a, int b) { return a + b; } double add(double a, double b) { return a + b; } int add(int a, int b, int c) { return a + b + c; } }

重载发生在同一个类中,重载方法的方法名相同,参数列表、返回类型、权限修饰符可以不同。

//重写 class Father { int handle(int a, int b) { return a + b; } } class Son extends Father { int handle(int a, int b) { return a * b; } } Father example1 = new Son() Father example2 = new Father() example1.handle(1, 2) example2.handle(1, 2)

重写发生在子类中,方法名、参数列表和返回类型都相同,权限修饰符要大于父类方法,声明异常要小于父类。

详细对比点

对比点重载重写
发生位置同一个类中发生在父子类之间
方法名必须相同必须相同
参数列表必须不同(类型/个数/顺序)不同必须完全相同
返回值类型可以不同可以不同,但子类返回的返回值类型必须是父类返回值类型的子类
访问修饰符无要求不能比父类更严格
异常无要求子类抛出的异常必须是父类相同或者为它子类

讲讲JAVA中不同访问权限修饰符区别

JAVA中分为四种访问级别权限符,访问范围从大到小为publicprotecteddefaultprivate

private特点:

  • 只能在当前类中访问
  • 子类也无法访问。所以private的方法是不能被重写的。

default特点:

  • 默认,不指定访问权限,默认就是这个。
  • 同一个包内可访问
  • 不同包完全不可见

protected特点:

  • 同包可访问。
  • 不同包:只有子类能访问。

public 特点:

  • 任何地方都可以访问
  • 类、方法、成员变量都可用

为什么要设计不同访问权限修饰符

Java 设计不同级别的访问修饰符,是为了通过权限分级实现封装和解耦。不同级别分别满足类内部、模块内部、继承关系以及对外 API 的访问需求,在保证安全性的同时,提高代码的可维护性和可扩展性。

String、StringBuffer和StringBuilder区别

String:是典型的Immutable 类,被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。不可变

StringBuffer:是为解决String提到拼接产生太多中间对象的问题而提供的一个类,我们可以用 append 或者 add 方法,把字符串添加到已有序列的末尾或者指定位置。StringBuffer 本质是一个线程安全的可修改字符序列,它保证了线程安全,也随之带来了额外的性能开销。可变线程安全

StringBuilder:Java 1.5 中新增的,在能力上和 StringBuffer 没有本质区别,但是它去掉了线程安全的部分,有效减小了开销,是绝大部分情况下进行字符串拼接的首选.可变线程不安全

HashCode、== 和 equals的区别

== 的特点:

  • 对于基本数据类型,值相同返回true.
  • 对于引用类型,如果引用类型的两个对象引用地址相同返回true。
  • 常用于判断是否为同一对象
inta=10;intb=10;intc=11;a==b;// truea==c;// falseUseru1=newUser();Useru2=newUser();Useru3=u1;u1==u2;// falseu1==u3;//true

equals()特点:

  • 定义在Object类中,默认实现就是等价于==
  • 自定义类一般都会重写hashcode()equals()方法,重写equals逻辑一般是默认类个属性值相同就返回true。
  • 常适用于判断对象业务等价

hashcode()特点:

  • 定义在Object类中,返回一个int值。
  • 一般用于快速定位对象在哈希表中的位置。
  • 常适用于map中使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1211136.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026年深圳跨境电商记账报税/财税合规服务机构推荐|深圳信质远企服聚焦亚马逊账务处理,让卖家“合规无忧、利润更稳”

2026深圳跨境电商财税合规服务机构推荐|深圳信质远企服聚焦亚马逊账务处理,让卖家“合规无忧、利润更稳” 在2026年这个“强监管+高合规”时代,深圳的亚马逊卖家正站在一个关键十字路口:一边是平台政策收紧、金税四…

2026年评价高的臭氧机公司推荐:空间杀菌臭氧发生器/空间杀菌臭氧机/纯净水臭氧发生器/纯净水臭氧机/自来水臭氧发生器/选择指南

2026年热门臭氧机品牌推荐榜一、行业背景与筛选维度据《2026-2030年中国臭氧发生器行业市场深度调研及投资前景预测报告》显示,2026年国内臭氧发生器市场规模突破68亿元,年复合增长率达12.7%。 随着环保政策趋严与各…

大规模AI系统部署中的模型训练与推理分离架构:AI应用架构师实践指南

大规模AI系统部署中的模型训练与推理分离架构:AI应用架构师实践指南 引言 背景介绍 在当今数字化时代,人工智能(AI)技术正以前所未有的速度融入各个领域,从医疗保健到金融服务,从自动驾驶到智能家居&…

Java毕设选题推荐:基于springboot的便民社区图书销售系统的设计与开发【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Java毕设项目:基于springboot的校园资讯分享平台的设计与实现(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026年大型洗衣机优质品牌推荐榜

2026年大型洗衣机优质品牌推荐榜行业背景与筛选依据据《2026-2030中国工业洗涤设备行业发展白皮书》数据显示,2026年国内工业洗涤设备市场规模突破128亿元,年复合增长率达8.2%。其中大型洗衣机因适配宾馆酒店、医院、…

【毕业设计】基于springboot的校园资讯分享平台的设计与实现(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

洛谷 P4513:小白逛公园 ← 线段树(区间合并)

​【题目来源】https://www.luogu.com.cn/problem/P4513https://www.acwing.com/problem/content/246/【题目描述】小新经常陪小白去公园玩,也就是所谓的遛狗啦…在小新家附近有一条“公园路”,路的一边从南到北依次…

2026年水果冻库臭氧机优质品牌推荐榜

2026年水果冻库臭氧机优质品牌推荐榜行业背景与推荐依据据《2026-2030年中国臭氧发生器行业市场深度研究报告》显示,2026年国内冷链仓储消毒设备市场规模同比增长18.7%,其中水果冻库消毒细分领域需求增速达22.3%。 水…

关于今天cloudflare新添的验证

今天,不如说是十分钟前(2026.1.24 21:30左右),我网站重新启动了一下,之后弹出了一个验证,CF的,我当时还想CF怎么搞这么高级的,之后我看我界面的音乐播放器没了,我还以为只是插件冲突了想去后台重新启动一下…

【Django毕设全套源码+文档】基于Django的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【Django毕设全套源码+文档】基于Python的人事管理系统的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【Django毕设全套源码+文档】基于Django的美食推荐系统设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【Django毕设全套源码+文档】基于Django的校园荣誉证书管理系统设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【Django毕设全套源码+文档】基于Python的校园个人闲置物品换购平台的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

AI产品经理入门全攻略:与传统PM的7大差异+大模型学习路径,非常详细收藏我这一篇就够了

文章详细对比了AI产品经理与传统产品经理在工作重心、技术要求、工作内容等方面的差异,指出AI产品经理需更深入的技术知识,特别是机器学习和深度学习。文章提供了转行成为AI产品经理的学习路径,包括Python学习、机器学习、深度学习、竞品分析…

【Django毕设全套源码+文档】基于Python的适老化(老年人)健康预警系统的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【计算机毕业设计案例】基于springboot的小型图书销售系统基于springboot的便民社区图书销售系统的设计与开发(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Java毕设项目:基于springboot的便民社区图书销售系统的设计与开发(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

新手进阶Python:办公看板集成可视化升级+精细化权限+定制报表导出

大家好!我是CSDN的Python新手博主~ 上一篇我们完成了看板的跨系统同步与数据备份,解决了数据互通与安全问题,但企业用户反馈三大核心痛点:① 可视化能力弱,仅支持基础图表,无法多维度分析数据关…