美文网首页学习随记
JAVA学习之继承篇(四)

JAVA学习之继承篇(四)

作者: 南三号 | 来源:发表于2017-08-25 17:12 被阅读28次

一. 继承相当于:is a

  • 比如狗类继承至动物类,即狗是一种动物

二. 注意:

  • 子类继承父类的所有public属性和方法
  • Java继承是单继承,即只有一个父类

三. 语法规则:

使用extends关键字

//子类继承父类
class <子类> extends <父类>{
}
//狗类继承动物类
class Dog extends Animal{
}

四. 父类方法重写

子类对父类方法不满意,进行重写。

注意:

返回值类型,方法名,参数类型及个数都要与要重写的父类方法相同。(即除了方法内容,都要一样)

五. 继承初始化顺序

  • 初始化父类再初始化子类(先执行父类构造方法,再执行子类构造方法)
  • 先执行初始化对象中属性,再执行构造方法中的初始化。
    譬如:
//对动物的年龄进行初始化
  public class Animal{
    public int age=10;
    public Animal( ){
      age=20;
    }
  }
//结果:实例化的对象年龄为20
  • 即:创建一个有一个父类的类的实例化对象,顺序应该是:
    创建一个父类对象

    父类属性初始化

    父类构造方法

    创建子类对象

    子类属性初始化

    子类构造方法

六.final关键字

  • 意思:最终的,完结的。
  • final修饰类:该类不能被继承。(即为最终最底层的类)
  • final修饰方法:该方法不能被重写(覆盖)。(即为最终的已经写完的方法)
  • final修饰属性:该类的这个属性必须在属性初始化或者构造方法初始化的时候进行赋值(只能赋值一次,且只能而且必须在一处,要么属性初始化,要么构造方法,不能都进行赋值,也不能都不赋值,以前说属性会自动赋值0,但是加了final关键字之后就不会自动赋值)
  • final修饰变量:只能在声明变量时进行赋值。(只能赋值一次)即变为常量。
    示例:
final public class Animal( ){
    final public age=10;
    final public void eat( ){
    }
}

七. super关键字

  • 意思:父类
  • 注意:
    1.子类的构造方法中必须调用父类的构造方法。
  1. 如果子类的构造方法没有显式调用父类的无参的构造方法,则系统默认调用父类无参的构造方法。
  2. 如果显式调用父类构造方法,必须在子类构造方法的第一行。
  3. 如果子类构造方法中没有显式调用父类的构造方法,因为会默认调用父类的无参构造方法,而如果父类定义了有参的构造方法而没有定义无参的构造方法,因为定义了有参所以系统不会自动生成一个无参的,所以会报错。

视频链接:慕课网Java-super的使用

八. Object类

ps:所有类的老祖宗,如果没有使用extends关键字继承某个类,则默认继承Object类。

哈希code码:对象地址字符串(唯一区分对象)
** 常用的方法:**

  • toString( )
    默认返回对象的哈希码。
    如果直接输出对象名,就会执行toString( )方法,输出对象的哈希码。
  • equals( )
    比较对象的引用是否指向同一块内存地址。即两个是不是同一个实例化对象
    如果要比较两个不同实例对象的各个属性相不相同。可以重写equals( )

相关文章

  • JAVA学习之继承篇(四)

    一. 继承相当于:is a 比如狗类继承至动物类,即狗是一种动物 二. 注意: 子类继承父类的所有public属性...

  • JAVA语言第二课

    JAVA面向对象——四大特征 继承篇——extendsJava 继承继承的概念继承是java面向对象编程技术的...

  • Kotlin学习之继承

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

  • Java学习之继承

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

  • JavaSE 基础学习之四 —— 异常的处理

    接上篇《JavaSE 基础学习之三 —— Java 的继承与接口》 四. Java 核心专题 —— 异常处理 1....

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

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

  • 2017-12-29

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

  • Effective Java学习笔记-继承篇

    Section 4 Article 14 复合优于继承 不适当的使用(超类并不是为了扩展而设计)继承会导致脆弱的软...

  • 继承

    优秀文章 菜鸟教程 > Java 继承clever_fan > 重新认识java(四) — 组合、聚合与继承的爱恨...

  • iOS 语言三大特性

    封装 、 继承、多态OC学习篇之---类的三大特性(封装,继承,多态) - Android应用安全防护和逆向分析-...

网友评论

    本文标题:JAVA学习之继承篇(四)

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