14 java面向对象的三大特征【继承、封装、多态】

简介: 封装的实现:实现三部曲:①私有化,属性②提供公共的getXxx()方法②提供公共的setXxx()方法

封装(encapsulation) 隐藏实现细节,保证数据安全

继承(extends) 提高代码的复用性、扩展性与可维护性也相应提高

多态(polymorphic) 简化代码,提高代码可扩展性、可维护性


1 封装 🚩


1.1 封装的实现:


实现三部曲:

①私有化,属性

②提供公共的getXxx()方法

②提供公共的setXxx()方法


2 继承 🚩


2.1 继承的注意事项

(1). 子类继承所有父类的属性和方法,但是私有属性和方法不能在子类中直接访问需要借助公共方方法访问;

(2). 子类在创建对象时必须调用父类的构造器完成父类初始化,

(3). java是单继承机制,一个子类只能有一个直接父类;


2.2 继承的本质


是建立一种对应的查找关系


2.3 super的使用


(1). super是父类的一个引用能访问父类属性,但不能直接访问父类私有属性;

(2). super的访问不限于直接父类,但是遵从就近原则;


3 多态 🚩


3.1 多态概念


(1). 方法或者对象有多种形态,是建立在在继承、封装之上的

(2). 属性的值看编译类型


3.2 动态绑定机制


(1). 当调用对象方法的时候,该对象会与该方法的运行类型绑定

(2).当调用对象属性时,没有动态绑定机制,哪里声明哪里使用


3.3 多态参数问题


方法定义的时候,形式参数使用父类类型的参数,实参可以使用子类类型参数;


目录
相关文章
|
7天前
|
Java 编译器
Java——类与对象(继承和多态)
本文介绍了面向对象编程中的继承概念,包括如何避免重复代码、构造方法的调用规则、成员变量的访问以及权限修饰符的使用。文中详细解释了继承与组合的区别,并探讨了多态的概念,包括向上转型、向下转型和方法的重写。此外,还讨论了静态绑定和动态绑定的区别,以及多态带来的优势和弊端。
20 9
Java——类与对象(继承和多态)
|
8天前
|
安全 Java Go
面向对象程序设计语言:Java
Java语言语法和C语言和C++语言很接近,很容易学习和使用,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的特性,Java语言不使用指针,而是引用,并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧
25 2
|
23天前
|
安全 Java 编译器
Java多态
Java多态
13 2
|
4天前
|
Java 开发者
Java编程之旅:探索面向对象的力量
【9月更文挑战第16天】在编程的世界中,Java以其强大的面向对象编程特性而闻名。本文将带你走进Java的世界,一起探索类与对象的奥秘,学习如何通过封装、继承和多态性构建健壮的软件系统。无论你是初学者还是有经验的开发者,本文都旨在提供实用的代码示例,帮助你提升Java技能。准备好开始这段旅程了吗?让我们启程吧!
|
20天前
|
存储 Java 数据库连接
Java编程之旅:从基础到高级,探索面向对象的力量
【8月更文挑战第31天】本文是一篇深入浅出的Java编程指南,旨在通过生动的例子和实际代码演示,带领读者从Java的基础语法起步,逐步深入到面向对象的核心概念,最后探讨如何在实际项目中应用这些知识。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的见解和实用的技巧。
|
4月前
|
搜索推荐 Java
Java的面向对象特性主要包括封装、继承和多态
【4月更文挑战第5天】Java的面向对象特性主要包括封装、继承和多态
41 3
|
4月前
|
Java 程序员 编译器
【详识JAVA语言】面向对象程序三大特性之二:继承
【详识JAVA语言】面向对象程序三大特性之二:继承
55 2
|
3月前
|
Java 开发者
Java 面向对象新视界:揭秘子类如何“继承”父类精华,再添“创新”之笔
【6月更文挑战第16天】在Java的面向对象世界,子类继承父类的特性,如`Circle`继承`Shape`,展示“is-a”关系。子类不仅保留父类的`color`和`display`方法,还添加了`radius`属性及定制的显示逻辑。这种继承与创新允许代码复用,增强灵活性和可扩展性,使得构建复杂系统变得更加高效和模块化。通过持续的继承与定制,开发者能构建出一系列独具特色的类,充分展现面向对象编程的力量。
143 57
|
2月前
|
Java 编译器
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
|
3月前
|
Java
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承