Java面向对象(8)--继承性

简介: Java面向对象(8)--继承性

多个类中存在相同属性和行为时,可以将这些内容抽取到单独一个类中,那么多个类无需再定义这些相同的属性和行为,只要继承那个类即可。


这里的多个类称为子类(派生类),单独的这个类称为父类(基类或超类)。


语法格式:class Subclass extends SuperClass{ }


继承性的作用


减少代码冗余,提高代码复用性。

在父类中修改即可在所有子类中继承,有利于功能的扩展。

让类与类之间产生关系,提供多态的前提。


注意


①一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法。特别地,父类中声明为private的属性或方法, 子类继承父类以后,仍然获取了父类中的私有结构。只是由于封装性的影响,子类不能直接调用父类的结构私有结构。


ac7d12887bdd4ac2ad7fd9ab3eed0c38.png


②子类继承父类以后,还可以声明自己特有的属性或方法,实现功能的延展。


单继承和多层继承


Java只支持单继承和多层继承,不允许多重继承,即一个子类只能有一个父类,一个父类可以派生出多个子类。


①单继承


②多层继承

(直接父类,间接父类,都继承)


25f45896a9b843ad9c27bcae19d8424f.png


③多重继承(不行)


39d7549c193f41708032becb193750c7.png


相关文章
|
1天前
|
安全 Java
Java 面向对象之旅:在封装的港湾中,找到代码的安宁。
【6月更文挑战第15天】封装是Java面向对象的核心,它保护了类的内部数据,如`Book`和`Student`类中的属性。通过设定私有成员和公共方法,代码更有序,防止直接访问导致的混乱。封装提供了一种控制数据交互的方式,确保安全,如`setGpa()`方法验证输入。这使得代码结构清晰,如同港湾中的船只,井然有序,赋予编程过程美感和安全感。在面向对象的旅程中,封装是我们的庇护所,助力我们构建更美好的程序世界。
|
1天前
|
设计模式 Java
一文掌握 Java 面向对象精髓:从类定义到对象实战
【6月更文挑战第15天】Java面向对象编程初学者指南:类是对象模板,如`Person`类含`name`和`age`属性。创建对象用`new`,如`Person person = new Person()`。访问属性如`person.name="Alice"`,调用方法如`person.sayHello()`。类能继承,如`Student extends Person`。对象间共享数据可传参或共用引用。多态性允许父类引用调用子类方法。注意对象生命周期和内存管理,避免内存泄漏。通过实践和理解这些基础,提升编程技能。
|
1天前
|
Java
深入 Java 面向对象:类的定义,竟然藏着这么多门道!
【6月更文挑战第15天】Java中的类定义是OOP的基础,它封装属性(如Student的name和age)和行为(如study())。简单的类仅触及表面,而复杂的类可模拟真实世界对象的多样性和交互。类还可通过继承扩展,如Student从Person派生,增加特有属性和行为。接口和抽象类等概念进一步增强了灵活性和可扩展性。类定义的深度和广度是构建高效、可维护代码的关键。
|
2天前
|
数据可视化 Java 测试技术
[笔记] 疯狂JAVA讲义(第3版) 第2章 理解面向对象
[笔记] 疯狂JAVA讲义(第3版) 第2章 理解面向对象
|
2天前
|
缓存 Java 程序员
[笔记] 疯狂JAVA讲义(第3版)第6章 面向对象(下)
[笔记] 疯狂JAVA讲义(第3版)第6章 面向对象(下)
|
2天前
|
Java 数据安全/隐私保护
[笔记] 疯狂JAVA讲义(第3版)第5章 面向对象(上)
[笔记] 疯狂JAVA讲义(第3版)第5章 面向对象(上)
|
3天前
|
Java 编译器
Java 程序设计 第4章 继承 笔记
Java 程序设计 第4章 继承 笔记
|
4天前
|
Java 编译器 开发者
Java基础3-JVM层面理解Java继承、封装、多态的实现原理(二)
Java基础3-JVM层面理解Java继承、封装、多态的实现原理(二)
6 0
|
4天前
|
存储 Java 索引
Java基础3-JVM层面理解Java继承、封装、多态的实现原理(一)
Java基础3-JVM层面理解Java继承、封装、多态的实现原理(一)
9 0
|
4天前
|
安全 Java 编译器
Java基础2-Java面向对象三大特性(基础篇)(二)
Java基础2-Java面向对象三大特性(基础篇)(二)
10 0