zoukankan      html  css  js  c++  java
  • Java 继承学习总结

    继承

    概述

    继承是描述java中类与类之间的关系的

    继承什么时候用

    当描述的多个事物之间存在包含(is a)关系的时候,如果对象之间存在“B”是“A”,可以使用继承,“B”继承“A”.如: 猫 extends 哺乳动物

    继承语法格式

    使用extends关键字表示,前面是子类,后面是父类

    public class Son extends Father{
        // ...
    }
    

    继承特点

    1. java中的类与类之间只能单继承,不能多继承,可以多层继承
    2. 子类拥有父类非private的属性和方法,子类可以直接使用父类(父类的父类)的内容
    3. 子类可以扩展父类没有的属性和方法
    4. 子类可以以自己的方式实现父类方法(方法重写)
    5. 父类的构造方法 静态方法不能被继承(可以用super()调用构造方法)
    6. java中所有的类直接或间接继承Object类

    继承的好处与弊端

    继承使得所有子类的公共部分都放在了父类,使得代码得到了共享,避免了重复,提升代码的复用性和维护性,同时也为多态提供了前提.

    但是继承中,父类变化,子类不得不变.继承会破坏包装,父类的实现细节暴露给了子类,降低了独立性,提升了耦合性.继承是一种类与类之间强耦合的关系.

    继承中成员变量的访问

    就近原则

    当我们在子类的方法中直接写一个变量名时,如果方法内有局部变量,优先使用局部变量,如果局部变量没有,会使用成员变量,如果成员变量没有,会使用父类非私有的成员变量;

    1. 如果想直接访问局部变量,直接写变量名
    2. 如果想直接访问本类的成员变量,需要写this.成员变量名
    3. 如果想直接访问父类的成员变量,如果父类没有私有,可以使用super.成员变量名,如果私有了,可以利用父类的get方法获取成员变量的值

    继承中成员方法的访问

    优先找子类,子类没有再找父类;

  • 相关阅读:
    CF1051F The Shortest Statement 题解
    CF819B Mister B and PR Shifts 题解
    HDU3686 Traffic Real Time Query System 题解
    HDU 5969 最大的位或 题解
    P3295 萌萌哒 题解
    BZOJ1854 连续攻击游戏 题解
    使用Python编写的对拍程序
    CF796C Bank Hacking 题解
    BZOJ2200 道路与航线 题解
    USACO07NOV Cow Relays G 题解
  • 原文地址:https://www.cnblogs.com/yao-xi/p/13785225.html
Copyright © 2011-2022 走看看