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

一、封装:

1.1、什么是封装?

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

1.2、封装的好处?

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

二、继承:

2.1、什么是继承?

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

2.2、继承的好处?

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

三、多态:

3.1、什么是多态?

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

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

3.2、多态的好处?

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

相关推荐
明洞日记3 分钟前
【设计模式手册005】单例模式 - 唯一实例的优雅实现
java·单例模式·设计模式
二川bro7 分钟前
第48节:WebAssembly加速与C++物理引擎编译
java·c++·wasm
⑩-26 分钟前
苍穹外卖Day(8)(9)
java·spring boot·mybatis
IUGEI39 分钟前
Websocket、HTTP/2、HTTP/3原理解析
java·网络·后端·websocket·网络协议·http·https
程序猿_极客42 分钟前
【2025 最新】 Maven 下载安装与配置教程(超详细带图文Windows 版):从入门到实战
java·开发语言·windows·maven·maven安装
q***01651 小时前
【保姆级教程】apache-tomcat的安装配置教程
java·tomcat·apache
得物技术1 小时前
Golang HTTP请求超时与重试:构建高可靠网络请求|得物技术
java·后端·go
合作小小程序员小小店1 小时前
web网页开发,在线短视频管理系统,基于Idea,html,css,jQuery,java,springboot,mysql。
java·前端·spring boot·mysql·vue·intellij-idea
吃饺子不吃馅1 小时前
面试过别人后,我对面试祛魅了
前端·面试·github
uhakadotcom2 小时前
fastapi的最新版本,提供了哪些新api可供使用
前端·面试·github