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

一、封装:

1.1、什么是封装?

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

1.2、封装的好处?

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

二、继承:

2.1、什么是继承?

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

2.2、继承的好处?

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

三、多态:

3.1、什么是多态?

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

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

3.2、多态的好处?

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

相关推荐
毕设源码-郭学长2 分钟前
【开题答辩全过程】以 高校教室管理系统为例,包含答辩的问题和答案
java·spring boot
罗不丢4 分钟前
UTC,Date,LocalDate转换问题解决方法
java
Klong.k7 分钟前
谈谈session、application存储对象
java·tomcat
Moe4888 分钟前
Spring Boot启动魔法:SpringApplication.run()源码全流程拆解
java·后端·面试
阿杰AJie9 分钟前
Java 常见场景中需要使用 try 的示例集
java·后端
0***v77710 分钟前
JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)
java·tomcat
logocode_li28 分钟前
面试 LoRA 被问懵?B 矩阵初始化为 0 的原因,大多数人拿目标来回答
人工智能·python·面试·职场和发展·矩阵
老华带你飞32 分钟前
房屋租赁管理|基于springboot + vue房屋租赁管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·毕设
凛_Lin~~1 小时前
安卓 Java线程八股文 (线程、多线程、线程池、线程安全)
android·java·开发语言
哈哈哈笑什么1 小时前
企业级CompletableFuture并行化完整方案,接口从10s到100ms
java·后端·spring cloud