zoukankan      html  css  js  c++  java
  • 类的继承

    1.java中,所有类都有一个父类Object,没有定义属性,但定义了一些方法

    2.使用extends关键字表示继承关系

    3.用@Override可重写父类方法

    4.super关键字用于指代父类,可用于调用父类的构造方法,访问父类方法和变量

        super和this区别:this引用一个对象是实实在在存在的,可以作为函数参数,返回值,super只是一个关键字

        告诉编译器怎么做。

    5.子类对象赋值给父类引用变量,叫向上转型

    6.概念:多态,动态类型,静态类型,动态绑定,静态绑定

    7.子类可以重写父类非private的方法,当调用的时候会动态绑定,执行子类的方法,因此,不应在父类的构造方法中调用可被子类重写的方法,只应调用private的方法

    8.动态绑定的机制就是根据对象的实际类型查找要执行的方法,子类型中找不到的时候再查找父类

    9.      重名与静态绑定:

    private变量和方法重名无所谓

    public变量和方法视访问而定:

    在类内,访问的是当前类的,类外访问的要看静态类型

    静态绑定在程序编译阶段即可决定,动态绑定要等到程序运行时,

    实例变量,静态变量,静态方法,private方法都是静态绑定的

    10.       重载和重写

    重载指方法名称相同但参数签名不同(参数个数,类型,顺序)。

    当有多个重名函数时,首先按照参数类型进行匹配,再看动态类型

    11.      父子类型转换

    一个父类转化为子类取决于父类的动态类型(引用的对象类型)是不是子类或子类的子类。

    可以通过instanceof关键字(boolean)

    变量 instanceof  类型

    12.      继承访问权限protected

    protected可被子类访问,还可被同一个包中的其他类访问。模板方法

    13.    可见性重写

    子类重写方法时不能降低父类方法的可见性

    14     防止继承  final

    public  final class Base

    加上final关键字后就不可继承

  • 相关阅读:
    【BZOJ 4151 The Cave】
    【POJ 3080 Blue Jeans】
    【ZBH选讲·树变环】
    【ZBH选讲·拍照】
    【ZBH选讲·模数和】
    【CF Edu 28 C. Four Segments】
    【CF Edu 28 A. Curriculum Vitae】
    【CF Edu 28 B. Math Show】
    【CF Round 439 E. The Untended Antiquity】
    【CF Round 439 C. The Intriguing Obsession】
  • 原文地址:https://www.cnblogs.com/wtblogwt/p/9715195.html
Copyright © 2011-2022 走看看