博客
关于我
JAVA基础(一)继承、封装、多态
阅读量:772 次
发布时间:2019-03-24

本文共 1250 字,大约阅读时间需要 4 分钟。

继承

在编程中,继承是一种强大的机制,允许一个新类复用父类的方法和属性,同时可以自定义新增功能。这种特性使得代码的维护更加容易,减少了代码的耦合性。

构造器在继承关系中扮演着特殊角色。对于继承自父类的私有域,子类通常无法直接访问这些域。为了初始化子类实例,必须通过调用父类的构造器(即使用super()语句)。如果没有显式地调用父类构造器,编译器会自动调用父类的无参数默认构造器。但如果父类没有定义无参数的构造器,子类在这种情况下必须显式地调用父类的构造器,否则会导致编译错误。

在Java的多态机制中,一个类变量可以引用该类或其子类的实例,这种特性为多态提供了实现基础。在运行时,调用方法时会以动态绑定来确定实际执行哪个方法。如果子类定义了与父类方法签名匹配的方法,子类方法会被优先调用,这就体现了多态的强大特性。

Doughnut 类可能有一个私有的包装袋属性封包。子类 CroissantDoughnut 会在此基础上自定义一些额外功能。这意味着 CroissantDoughnut 实例可以访问并操作包装袋属性,而其他类则无法直接访问这些属性。

一只 Doughnut 实例的类型可能会被存储在一个运行时多态表中。在访问它的方法时,该表会根据当前对象的实际类型确定最合适的方法进行调用。这就是多态的实现机制所在。

最重要的一点是要记住,Java 的单继承机制意味着一个类只能有一个直接父类。同时,一个类可以实现多个接口,但不能继承多个类。这使得 Java 的继承关系更加清晰和可控。

在Java中,每个对象的创建过程遵循特定的初始化顺序:首先是父类的静态部分,静态初始化块,然后是子类的静态部分和静态初始化块,接着是父类的实例初始化块,父类的构造方法被调用,最后是子类的实例初始化块和子类的构造方法。这一顺序确保了对象的完整构建和正确初始化。

封装

封装是保护类的内部实现细节的重要机制。通过对属性和方法的访问级别进行控制,可以将对象的复杂实现细节封装起来,使外部代码仅能通过指定的接口进行操作。这有助于在不完全重构的情况下对类进行修改,同时保持对现有代码的兼容性。

通过封装,系统各部件之间的耦合度得到了有效降低,系统的模块化性和可维护性因此得到了提升。这种设计理念在软件开发中被广泛应用,以促进系统的更好的扩展性和可维护性。

多态

多态是指在运行时根据对象的实际类型决定如何执行某些行为,而不是在编译时固定。这使得同一个方法在不同的对象上表现出不同的行为,从而提供了高度的灵活性和可用性。在Java中,多态主要通过继承关系来实现。

给予一个 Bulkidl 类的对象一个 Serializable 对象,将其存储在包含 run Swiftjourney 类型的变量中。在运行时,vdr 会根据当前对象的实际类型来决定使用哪段代码来处理对象。当对象的实际类型是 A时,Execute的方法会根据A类的实现执行动作;当类型是B时,方法会根据B类的实现执行。这种动态的行为决定了多态的核心特性。

转载地址:http://ehhkk.baihongyu.com/

你可能感兴趣的文章
Nginx反向代理
查看>>
nginx反向代理、文件批量改名及统计ip访问量等精髓总结
查看>>
Nginx反向代理与正向代理配置
查看>>
Nginx反向代理及负载均衡实现过程部署
查看>>
Nginx反向代理和负载均衡部署指南
查看>>
Nginx反向代理是什么意思?如何配置Nginx反向代理?
查看>>
nginx反向代理解决跨域问题,使本地调试更方便
查看>>
nginx反向代理转发、正则、重写、负摘均衡配置案例
查看>>
Nginx反向代理配置
查看>>
Nginx启动SSL功能,并进行功能优化,你看这个就足够了
查看>>
nginx启动脚本
查看>>
Nginx在Windows上和Linux上(Docker启动)分别配置基本身份认证示例
查看>>
Nginx在Windows下载安装启动与配置前后端请求代理
查看>>
Nginx在开发中常用的基础命令
查看>>
Nginx多域名,多证书,多服务配置,实用版
查看>>
nginx如何实现图片防盗链
查看>>
Nginx学习总结(11)——提高Nginx服务器的安全性,稳定性和性能的12种技巧
查看>>
Nginx学习总结(12)——Nginx各项配置总结
查看>>
Nginx学习总结(13)——Nginx 重要知识点回顾
查看>>
Nginx学习总结(14)——Nginx配置参数详细说明与整理
查看>>