前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java核心面试宝典】Day10、面向对象常见面试题汇总(五)

【Java核心面试宝典】Day10、面向对象常见面试题汇总(五)

作者头像
灰小猿
发布2021-09-23 15:20:04
2980
发布2021-09-23 15:20:04
举报

Hello,你好呀,我是灰小猿!一个超会写bug的程序猿!、 用坚持缔造技术、用指尖敲动未来! 和很多小伙伴们一样,我也是一名奔波在Java道路上的“创造者”。也想靠技术来改未来,改变世界!因为我们坚信每一次敲动键盘都能让生活变得更智能、世界变得更有趣在此专栏《Java核心面试宝典》记录我们备战梦想的【day 10】

在这里插入图片描述
在这里插入图片描述

面向对象的方面的相关面试题也和大家总结了好几天了,把其中的内容分成了好几个板块和知识点,今天就来继续和大家分享最后的一部分,

1、聚集关系和组合关系有什么区别?

聚集关系描述两个对象之间的所属关系,模拟具有(has-a)关系,一个对象可以被几个聚集对象所拥有; 如果一个对象被一个聚集对象所专有,该对象和聚合对象之间称为组合

如一个人驾驶一辆汽车,而一辆汽车可以被多个人驾驶,这就是聚集关系 一个人拥有一个身份证,一个身份证也只能被一个人拥有,这就是组合关系

2、什么是“强是关系”和“弱是关系”,对于这两种关系,分别如何在代码中体现?

“强是关系”描述直接继承关系“弱是关系”描述一个类具有某些属性“强是关系”可以用类的继承表示,“弱是关系”可以用接口表示。

3、内聚和耦合的含义是什么?类的设计原则对于内聚和耦合是如何要求的?

内聚指同一个类或模块内部的元素的关联性和紧密程度,耦合指不同类或模块之间的联系紧密程度。 类的设计原则要求高内聚低耦合,即同一个类或模块内部关联性强,不同类或模块之间的关联尽可能少,每个类或模块尽可能独立存在。

4、如何判断两个类之间应该使用继承关系还是聚集关系?

如果两个类之间为“是关系”,则使用继承关系;如果两个类之间为“具有关系”,则使用聚集关系。

如“拉布拉多”是“狗”,则拉布拉多和狗之间就是继承关系, “教室”里面具有“学生”,则教室和学生就是聚集关系

5、如何实现数据域的封装性?

确保类中数据域的封装性的方法是给其增加 private修饰符隐藏其可见性,避免从外部直接访问数据域。 如果需要从外部读取数据域的值,则提供读取器get方法。如果需要从外部修改数据域的值,提供设置器set方法。 如果一个方法只在类的内部使用,则应该对该方法使用 private 修饰符,避免从外部调用该方法。这就确保了数据域的封装性。

6、序列化和反序列化的含义分别是什么?

对象转化为字节序列的过程称为对象的序列化,把字节序列恢复成对象的过程称为对象的反序列化

7、Serializable接口的作用是什么?这个接口包含哪些信息?

或:如何将一个对象标识成是可被序列化的?

Serializable接口的作用是标识一个对象是否可被序列化,只有当一个类实现了Serializable接口时,这个类的实例才是可序列化的,这个接口是标识接口,不包含任何数据域和方法。

8、关键字transient的作用是什么?

关键字transient的作用是执行数据域不被序列化,当一个数据域不能被序列化,或者不想对一个数据域序列化时,给这个数据域加上关键字transient,在序列化的过程中将忽略这个数据域。

9、Class类的作用是什么?

Class类的作用是在程序运行时保存每一个对象所属的类的信息,在程序运行时分析类。

10、Class类有哪些常用的方法,这些方法的作用分别是什么?

Class 类中最常用的方法是getName,该方法返回类的名字。 Class 类中还有方法可以返回类中的数据域、方法和构造方法。

其中,方法名不包含 Declared 的方法只返回公有的数据域、方法和构造方法, 方法名包含 Declared的方法会返回所有的数据域、方法和构造方法。 方法名以 s 结尾的返回所有的数据域、方法和构造方法, 方法名不以 s 结尾的返回单个的数据域、方法和构造方法。

今日总结

今天和大家分享了面向对象的面试题中的最后一部分,这部分的内容主要要掌握的其实就两点,一个是了解序列化和反序列化操作,另一个是熟悉反射机制,其中反射是比较重要的一点,也是之后开发中会经常用到的内容。

到现在,面向对象相关的面试题就暂时和大家总结完了,如果小伙伴们有遇到其他相关的面试题,欢迎在评论区留言提出,我会把大家提出的总结到文章内`, 欢迎小伙伴们一起评论区打卡学习!小伙伴们可也在左方加我好友一起探讨学习!

我是灰小猿,我们下期见!

请添加图片描述
请添加图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-08-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、聚集关系和组合关系有什么区别?
  • 2、什么是“强是关系”和“弱是关系”,对于这两种关系,分别如何在代码中体现?
  • 3、内聚和耦合的含义是什么?类的设计原则对于内聚和耦合是如何要求的?
  • 4、如何判断两个类之间应该使用继承关系还是聚集关系?
  • 5、如何实现数据域的封装性?
  • 6、序列化和反序列化的含义分别是什么?
  • 7、Serializable接口的作用是什么?这个接口包含哪些信息?
  • 或:如何将一个对象标识成是可被序列化的?
  • 8、关键字transient的作用是什么?
  • 9、Class类的作用是什么?
  • 10、Class类有哪些常用的方法,这些方法的作用分别是什么?
  • 今日总结
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档