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方法获取成员变量的值

    继承中成员方法的访问

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

  • 相关阅读:
    codeforces 1096 题解
    pkuwc 前的任务计划
    codeforces 1093 题解
    luoguP5068 [Ynoi2015]我回来了
    luoguP5074 Eat the Trees
    二分
    保护
    数数字
    旅行
    すすめ!
  • 原文地址:https://www.cnblogs.com/yao-xi/p/13785225.html
Copyright © 2011-2022 走看看