Java三大特性、多态的原理

Java 的三大特性是 封装、继承、多态。

1、封装:通过 private 修饰属性,并提供 getter/setter 方法访问,隐藏内部实现细节,提高安全性和可维护性。

2、继承:子类可以继承父类的属性和方法,实现代码复用。Java 支持单继承,但可以通过接口实现多继承效果。

3、多态:同一个方法在不同对象上表现不同。包括编译时多态(方法重载)和运行时多态(方法重写)。运行时多态通过父类引用指向子类对象实现,增强了程序的扩展性和灵活性。

多态实现原理:

动态绑定(Dynamic Binding):

编译器只知道引用的声明类型,方法的具体调用延迟到运行时,由 JVM 根据对象的实际类型决定。

虚拟方法调用(Virtual Method Invocation):

Java 中非 private、非 static、非 final 的方法都是虚拟方法,运行时根据实际对象类型调用对应版本的方法。

实现流程:

创建父类引用指向子类对象。JVM 在运行时通过动态绑定确定对象的实际类型。根据实际类型,通过虚拟方法调用执行对应方法的实现。

总结一句话:

多态的实现依赖 动态绑定 + 虚拟方法调用,使得同一调用在不同对象上表现不同行为。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 世界上最美丽的东西,看不见也摸不着,要靠心灵去感受。 ——海伦·凯勒 面向对象编程有三大特性:封装、继承、多态。 ...
    樱木天亥阅读 4,160评论 0 2
  • Java三大特性 导语:Java是一门面向对象的编程语言,有三大特性:封装、继承、多态。本篇文章主要讲述的是Jav...
    偏偏爱吃梨阅读 4,613评论 1 2
  • 引用多态的一个好例子 让我们分析一下,理清其中各个类的继承关系 那我们开始分析输出A a1 = new A();这...
    BasilQin阅读 16,045评论 3 7
  • 子类拥有父类除构造器外的非private的属性和方法; 子类可以拥有自己属性和方法,即子类可以对父类进行扩展; 类...
    一只好奇的茂阅读 3,142评论 0 17
  • 继承 使用继承可以用来复用代码。可以将所有子类的共同属性放入父类中 使用继承记住三句话: 子类拥有父类非priva...
    苦风阅读 1,085评论 0 1