内容简介:面向对象的三个基本特征是:封装、继承、多态。封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
面向对象的三个基本特征是:封装、继承、多态。
封装
封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。
封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
封装的优点
- 将变化隔离
- 便于使用
- 提高重用性
- 提高安全性
封装的缺点:
将变量等使用private修饰,或者封装进方法内,使其不能直接被访问,增加了访问步骤与难度!
封装的实现形式
- A、使用访问权限修饰符private 在定义JavaBean时对于成员变量使用private进行修饰,同时对外提供set、get方法 使用了private修饰的成员在其他类中不能直接访问,此时需要使用set、get方法进行。
- B、定义一个 Java 类与Java的方法就是最简单最常见的面向对象的封装操作,这些操作符合隐藏实现细节,提供访问方式的思路。
继承
面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
通过继承创建的新类称为“子类”或“派生类”。
被继承的类称为“基类”、“父类”或“超类”。
继承的过程,就是从一般到特殊的过程。
要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。
在Java语言中,一个类只能单继承,可以实现多个接口。继承就是子类继承父类的特征和行为,使得子类对象具有父类的非private属性和方法。
类的继承格式:
通过extends关键字申明一个类继承另一个类,如
class父类{}
class子类extends父类{}
为什么需要继承?
- 减少代码重复、臃肿,提高代码可维护性。
继承的特性:
- 子类拥有父类非private的属性和方法;
- 子类可以拥有完全属于自己的属性和方法(对父类扩展);
- Java是单继承(每个子类只能继承一个父类);但是Java可以是多重继承(如A继承B,B继承C)。
Super和this关键字:
Super关键字:我们可以通过super关键字来实现子类对父类成员的访问,引用当前实例对象的父类。
This关键字:指向实例对象自己的引用。
多态
多态就是同一个接口,使用不同的实现,而执行不同的操作。
多态的三个必要条件:
- 继承(extends)
- 重写(子类重写父类的同名方法)
- 父类引用指向子类的对象,如:
子类继承父类,重写父类的方法,当子类对象调用重写的方法时,调用的是子类的方法,而不是父类的方法,当想要调用父类中被重写的方法时,则需使用关键字super。
参考资料
https://blog.csdn.net/Wei_HHH/article/details/74864628
https://blog.csdn.net/u011159417/article/details/73500054
https://blog.csdn.net/cancan8538/article/details/8057095
扫码关注有惊喜
(转载本站文章请注明作者和出处方志朋-forezp)
以上所述就是小编给大家介绍的《Java基础:Java面向对象的特征》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- js面向对象特征
- Koltin——面向对象的特征与类(class)继承详解
- 加密算法也可以不那么复杂:上交大提出面向中层特征隐私保护的复数神经网络
- 面向 Kaggle 和离线比赛实用工具库 nyaggle,解决特征工程与验证两大难题(附代码)
- 特征工程:特征获取、特征规范和特征存储
- 特征工程之特征缩放 & 特征编码
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Clean Architecture
Robert C. Martin / Prentice Hall / 2017-9-20 / USD 34.99
Practical Software Architecture Solutions from the Legendary Robert C. Martin (“Uncle Bob”) By applying universal rules of software architecture, you can dramatically improve developer producti......一起来看看 《Clean Architecture》 这本书的介绍吧!
HTML 压缩/解压工具
在线压缩/解压 HTML 代码
HTML 编码/解码
HTML 编码/解码