【JAVA学习之路 | 基础篇】面相对象特征--继承性

简介: 【JAVA学习之路 | 基础篇】面相对象特征--继承性

1.继承性的理解.

  1. 自上而下 : 定义了一个类A,在定义另一个类B时,发现类B的功能与类A相似,考虑类B继承类A.
  2. 自下而上 : 定义了类B,C,D等,发现有类似的属性和方法,则可以考虑将相同的属性和方法抽取,封装到类A中,让类B,C,D继承与类A,同时类B,C,D中相似的内容就可以删除了

2.继承性的好处

  • 继承的出现减少了代码冗余,提高了代码复用性.
  • 继承的出现,更有利于功能的扩展.
  • 继承的出现让类与类之间出现了"is-a"的关系,为多态的使用提供的前提.(Manager is a Person).超类更通用,子类更具体.


3.继承的格式

class Person{

    方法体

}

class Manager extends Person{

    方法体

}

通过extends关键字,使类Manager继承与类Person,我们称类Person为超类(superClass),父类.称类Manager为子类(subClass)

4.默认的父类

  • java中的类,如果没有显式的声明其父类,则默认继承与java.lang.Obgect(基类).即一个类要么直接继承与Obgect类,要么间接继承与Obgect类

5.说明

  1. 继承完以后,子类就获取到了父类中声明的所有属性和方法(包括私有属性和私有方法).由于继承性不能破坏封装性,故子类无法访问到私有属性(私有属性和方法只能在本类中访问),需要通过公共的setter和getter方法进行访问和更改.
  2. 子类在继承父类后,还可以扩展自己特有的功能.(增加特有的属性和方法)
  3. java支持多层继承,但不支持多重继承.即class Person{代码区},class Manager extends Person{代码区},class Boss extends Manager{代码区},这是允许的,类Boss继承于类Manager,类Manager继承于类Person.类Manager是类Boss的直接父类,类Person是类Boss的间接父类.
  4. java中一个父类可以声明多个子类,但一个子类最多只能有一个父类.(单继承性)
相关文章
|
19小时前
|
设计模式 Java
一文掌握 Java 面向对象精髓:从类定义到对象实战
【6月更文挑战第15天】Java面向对象编程初学者指南:类是对象模板,如`Person`类含`name`和`age`属性。创建对象用`new`,如`Person person = new Person()`。访问属性如`person.name="Alice"`,调用方法如`person.sayHello()`。类能继承,如`Student extends Person`。对象间共享数据可传参或共用引用。多态性允许父类引用调用子类方法。注意对象生命周期和内存管理,避免内存泄漏。通过实践和理解这些基础,提升编程技能。
|
1天前
|
Java Apache
Java将一个对象的属性复制到另一个对象,如何编码
【6月更文挑战第15天】Java将一个对象的属性复制到另一个对象,如何编码
7 3
|
2天前
|
Java 编译器
Java 程序设计 第4章 继承 笔记
Java 程序设计 第4章 继承 笔记
|
2天前
|
安全 Java 数据安全/隐私保护
Java 程序设计 第3章 类与对象 笔记
Java 程序设计 第3章 类与对象 笔记
|
3天前
|
Java
JAVA高级部分学习小结(2023.11.4)
JAVA高级部分学习小结(2023.11.4)
|
3天前
|
Java
Java动态获取某个接口下所有的实现类对象集合
Java动态获取某个接口下所有的实现类对象集合
8 1
|
3天前
|
Java 编译器 开发者
Java基础3-JVM层面理解Java继承、封装、多态的实现原理(二)
Java基础3-JVM层面理解Java继承、封装、多态的实现原理(二)
6 0
|
3天前
|
存储 Java 索引
Java基础3-JVM层面理解Java继承、封装、多态的实现原理(一)
Java基础3-JVM层面理解Java继承、封装、多态的实现原理(一)
9 0
|
8天前
|
算法 Java 测试技术
滚雪球学Java(54):从零开始学习Java中的Math类,轻松解决数学难题
【6月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
15 0
滚雪球学Java(54):从零开始学习Java中的Math类,轻松解决数学难题
|
3天前
|
安全 Java API
Java并发基础-启动和终止线程
Java并发基础-启动和终止线程
13 0