类的继承

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关键字后就不可继承

原文地址:https://www.cnblogs.com/wtblogwt/p/9715195.html