Java面试之封装、继承和多态(简洁易懂版)

一、封装:

1.1、什么是封装?

封装是指将类的某些信息隐藏在类内部,不允许外部直接访问,而是通过类提供的方法来实现对隐藏信息的操作和访问。通过封装,可以提高代码的安全性和可靠性。在Java中,使用访问修饰符(如privatepublicprotected)来实现封装。

1.2、封装的好处?

封装将类的内部实现细节隐藏起来,只暴露必要的接口给外部使用。这样可以提高代码的安全性和可维护性,因为外部无法直接访问类的内部实现细节,只能通过公开的方法进行操作。封装还可以隔离变化,使得类的修改对外部的影响降到最低。

二、继承:

2.1、什么是继承?

继承是指一个类可以使用另一个类的属性和方法。通过继承,子类可以继承父类的属性和方法,并且可以在不改变原有结构的基础上进行扩展。在Java中,使用关键字extends来实现继承关系。

2.2、继承的好处?

继承允许子类(派生类)从父类(基类)继承属性和方法。这种机制使得子类可以复用父类的代码,同时专注于自己的特有功能,实现代码的重用,减少了重复编码的工作量。通过继承,可以建立类之间的层次结构,实现代码的模块化和层次化组织,支持"is-a"关系(例如,"企鹅是鸟类"的继承关系),使得代码更加清晰和易于理解。

三、多态:

3.1、什么是多态?

多态是指同一个方法调用由于对象不同可能会有不同的行为。在Java中,多态性主要通过方法的重载和重写来实现。方法的重载是指在一个类中可以定义多个同名但参数列表不同的方法,而方法的重写是指子类重新定义父类中已有的方法。

  • 方法重载(Overloading):在同一类中,可以用相同的名称定义多个方法,但参数列表(数量、类型或顺序)必须不同。编译器根据传入的实际参数来决定调用哪个方法。
  • 方法重写(Overriding):在继承关系中,子类可以定义与父类同名、同参数列表、同返回类型的方法。当通过子类对象调用该方法时,实际上执行的是子类重写后的方法,而非父类的原始方法,这就是"运行时绑定"或"动态绑定"。

3.2、多态的好处?

多态允许不同类的对象对同一消息做出不同的响应,可以编写更加通用和灵活的代码,而不需要关心具体对象的类型,实现接口的统一,降低了代码的耦合度,使得系统更加易于维护和扩展。它支持"鸭子类型"原则:只要对象"走路像鸭子,叫起来像鸭子",就可以把它当作鸭子来对待,而不必关心它具体的类型,具体类型由JVM分辨。

相关推荐
朝新_10 小时前
【SpringMVC】SpringMVC 小案例:加法计算器初步理解前后端接口交互与数据处理
java·笔记·spring·交互·javaee
倔强青铜三10 小时前
苦练Python第73天:玩转对象持久化,pickle模块极速入门
人工智能·python·面试
百锦再11 小时前
第2章 第一个Rust程序
java·开发语言·后端·rust·eclipse·tomcat·hibernate
折翼的恶魔11 小时前
SQL190 0级用户高难度试卷的平均用时和平均得分
java·数据库
Mos_x11 小时前
Python爬虫---中国大学MOOC爬取数据(文中有
java·后端
_安晓12 小时前
Rust 中精确大小迭代器(ExactSizeIterator)的深度解析与实践
java·前端·python
Javatutouhouduan12 小时前
记一次redis主从切换导致的数据丢失与陷入只读状态故障
java·redis·设计模式·java面试·高可用·java后端·java程序员
绝无仅有13 小时前
某游戏大厂的常用面试问题解析:Netty 与 NIO
后端·面试·架构
CS Beginner13 小时前
【IDEA】记录webapp下创建相同目录的一次错误
java·intellij-idea·web app