【Java基础】详解面向对象特性(诸如继承、重载、重写等等)

简介: 【Java基础】详解面向对象特性(诸如继承、重载、重写等等)

封装、继承、多态是java面向对象的三大特征,封装在这里就不多说了,主要说一下对继承和多态的理解

总结导图:

继承

what: 继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。java中使用extends关键字来实现类的继承机制

语法如下

<modifier> class <name>[extends]<superclass>{...
 ...}

通过继承,子类自动拥有基类(superclass)的所有成员(成员变量和方法)。另外,java和C不同,java只允许单继承

多态

what: 多态,即动态绑定是指在执行期间判断所引用对象的实际类型,根据其实际类型调用其对应的方法。Java实现多态有三个必要条件:继承、重写、向上转型。

正常情况下,Cat c = new Cat(); 就是实例化一个Cat对象,但是如果是这样呢,Cat c=newBlackCat();

Cat类型的指向Cat的子类BlackCat,那么此时的c不但可以使用父类的共性,还可以使用子类强大的功能,而这被称为向上转型。

重载

what: 方法的重载是指一个类中可以定义有相同的名字,但参数列表各不同(即参数的个数或类型不同),另外有一点需要注意的是,重载时返回类型可以不一致,但是仅仅只是返回类型不一致,而参数列表一致时并不会构成重载,这是因为重载的核心在于参数列表的不同。

重写

what: 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 方法名一样,返回值和形参都不能改变,覆盖方法体

  • 在子类中可以根据需要对从基类中继承来的方法进行重写
  • 重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型
  • 重写方法不能使用比被重写方法更严格的访问权限
  • 重写方法不能声明抛出比被重写方法范围更大的异常类型。

详细说明

重写Override表示子类中的方法可以和父类中的某个方法的名称和参数参数完全相同,通过子类创建的实例调用这个方法时,将调用子类的定义方法,相当于子类将父类中的方法覆盖了,所以重写又名覆盖,子类覆盖父类方法时,只能比父类抛出更少的异常,或者是抛出父类异常的子异常,因为子类可以解决父类的一些问题,不能比父类有更多的问题,访问权限可不可以比父类大

两者区别

重载与重写是 Java 多态性的不同表现。

重写是父类与子类之间多态性的表现,在运行时起作用(动态多态性,譬如实现动态绑定)

而重载是一个类中多态性的表现,在编译时起作用(静态多态性,譬如实现静态绑定)。

目录
相关文章
|
8月前
|
Java
Java基础语法与面向对象
重载(Overload)指同一类中方法名相同、参数列表不同,与返回值无关;重写(Override)指子类重新实现父类方法,方法名和参数列表必须相同,返回类型兼容。重载发生在同类,重写发生在继承关系中。
221 1
|
8月前
|
存储 Java 关系型数据库
Java 项目实战基于面向对象思想的汽车租赁系统开发实例 汽车租赁系统 Java 面向对象项目实战
本文介绍基于Java面向对象编程的汽车租赁系统技术方案与应用实例,涵盖系统功能需求分析、类设计、数据库设计及具体代码实现,帮助开发者掌握Java在实际项目中的应用。
326 0
|
9月前
|
安全 Java 编译器
Java面向对象
本文深入讲解了Java面向对象编程(OOP)的四大特性:封装、继承、多态与抽象,以及方法的设计与使用。通过示例展示了如何用类和对象组织代码,提升程序的可维护性与扩展性。
|
10月前
|
存储 Java 测试技术
Java基础 - 面向对象
面向对象编程是Java的核心,包含封装、继承、多态三大特性。封装隐藏实现细节,提升代码可维护性与安全性;继承实现类间IS-A关系,支持代码复用;多态通过继承、重写与向上转型,实现运行时方法动态绑定,提升系统扩展性与灵活性。
161 0
|
12月前
|
人工智能 Java 编译器
Java:面向对象
本文介绍了Java编程中的核心概念,包括包的命名规范与自动导入机制、构造方法的特点与使用、`this`和`super`关键字的作用、继承的基本规则、访问权限的设置、封装的意义、多态的实现原理以及`static`关键字的用法。通过详细解析每个知识点,并结合代码示例,帮助读者深入理解Java面向对象编程的核心思想与实践技巧。内容适合初学者及进阶开发者学习参考。
249 0
|
Java 程序员
Java中的继承和多态:理解面向对象编程的核心概念
【8月更文挑战第22天】在Java的世界中,继承和多态不仅仅是编程技巧,它们是构建可维护、可扩展软件架构的基石。通过本文,我们将深入探讨这两个概念,并揭示它们如何共同作用于面向对象编程(OOP)的实践之中。你将了解继承如何简化代码重用,以及多态如何为程序提供灵活性和扩展性。让我们启程,探索Java语言中这些强大特性的秘密。
|
Java
Java 面向对象编程的三大法宝:封装、继承与多态
本文介绍了Java面向对象编程中的三大核心概念:封装、继承和多态。
763 15
|
Java 编译器
Java——类与对象(继承和多态)
本文介绍了面向对象编程中的继承概念,包括如何避免重复代码、构造方法的调用规则、成员变量的访问以及权限修饰符的使用。文中详细解释了继承与组合的区别,并探讨了多态的概念,包括向上转型、向下转型和方法的重写。此外,还讨论了静态绑定和动态绑定的区别,以及多态带来的优势和弊端。
431 7
Java——类与对象(继承和多态)