美文网首页
Java高级学习之1:继承

Java高级学习之1:继承

作者: ambe_gzy | 来源:发表于2019-04-02 09:39 被阅读0次

继承的概念:继承就是子类继承父类的特征和行为;但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。


如父类为:动物;                                               子类为:食草动物;子类的子类:牛


类的继承格式:extends

class 父类 {

}

 class 子类 extends 父类 {

}


为什么需要继承?

若不用继承,定义相似的类的时候代码臃肿且量大,可维护性差。

因此需要我们从相似的类中取出相同的部分组成一个父类。使代码更加简洁,提高可维护性和复用性。


继承类型

java不支持多继承,但支持多重继承。(子类只能有一个父类)


继承的特性

子类拥有父类非 private 的属性、方法。

子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

子类可以用自己的方式实现父类的方法。(就是重写方法,详情见:java高级学习之2:重写与重载

Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。

提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。


继承关键字

继承可以使用 extends implements 这两个关键字来实现继承。

extends 关键字:用于继承类

一个子类只能拥有一个父类,所以 extends 只能继承一个类

implements 关键字:用于继承接口

使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。

(更多关于接口的知识详见:java高级学习之6:接口


super 与 this 关键字

super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。(super . 方法、super . 变量、等等)

this关键字:指向自己的引用。(this . 方法 、this . 变量、等等)

final关键字:声明的类不能被继承

final 关键字声明可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写。(更多有关final关键字的知识,详见:java学习之13:修饰符


构造器

创建类的时候使用子类的构造方法之后会自动调用父类的构造方法。注意参数要一致。

调用子类构造方法的时候,之后会调用父类相同参数的构造方法

本章学习到此结束,若想了解其他java知识,欢迎访问java学习之1:总纲

相关文章

  • Java高级学习之1:继承

    继承的概念:继承就是子类继承父类的特征和行为;但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自...

  • Kotlin学习之继承

    Kotlin学习之继承 @(Kotlin学习) Kotlin中的继承模式与Java中存在差异: Kotlin中所有...

  • Java学习之继承

    1.什么是继承? 继承是在一些比较一般的类(超类)的基础上构造、建立、扩充新类(子类)的一种手段。并且子类与超类之...

  • java基础-day10-面向对象4.0

    面向对象4.0 1. 面向对象之继承 1.1 生活中的继承 1.2 Java中的继承 1.3 子类对象创建,会调...

  • 2019-07-23

    java 基础 基础语法: 1-2天 编程思想: 面向对象 封装,继承,多态 高级应用 : 线程;IO; 网络 J...

  • java培训专家介绍java的特性之:继承

    java培训专家介绍java的特性之:继承 什么是继承?java特性继承又是什么?在线教育平台专家为你解答! 多个...

  • 10.3多线程详解

    Java高级-多线程 多线程创建 多线程通讯 线程池 1.多线程创建 thread/runnable图:继承Thr...

  • JavaSE 基础学习之三 ——Java 的继承与接口

    接上文《JavaSE 基础学习之二 —— Java 的部分基本语法》 三. Java 的继承与接口 1. java...

  • 2017-12-29

    Java学习日记(4) 主要谈一下——继承extends 个 Tips : Java不像c++,Java是单继承(...

  • Java Nio 之Buffer

    Java Nio 系列Java Nio 之BufferJava Nio 之直接内存Java Nio 之高级搬砖工(...

网友评论

      本文标题:Java高级学习之1:继承

      本文链接:https://www.haomeiwen.com/subject/rqxwbqtx.html