继承多态

继承   多态

1:继承: 关键字extends   先写父类   再编写子类,继承父类。

子类访问父类成员:  使用super关键字

2:继承后的初始化顺序:  父类属性 父类构造方法 子类属性 子类构造方法

3:有些父类成员不能继承 ::

(1).不能访问父类的private成员 

(2).子类与父类不在同包,使用默认权限的成员  

(3).构造方法(只能调用,不能继承)

4:访问修饰符       本类   同包   子类   其他

Private              1      0      0     0

默认(friendly)     1      1      0     0

Protected            1      1      1     0

Public               1      1      1     1                 

5:方法重写vs方法重载

           位置   方法名   参数表   返回值   访问修饰符 

方法重写   子类    相同     相同     相同   不能比父类更严格

方法重载   同类    相同     不同     无关         无关

6:Java中使用抽象类,限制实例化  关键字:abstract

Abstract 也可用于方法----抽象方法

抽象方法没有方法体

抽象方法必须在抽象类里

抽象方法必须在子类中被实现,除非子类是抽象类

7:final关键字   类(不能被继承) 方法(不能被重新)    属性(不能被修改)

8:Static修饰   属性 方法 代码块

Static修饰的属性和方法称为类属性(类变量) 类方法

不使用static修饰的属性和方法,属于单个对象,通常称为实例属性(实例变量) 实例方法

Static运行时最先被分配内存空间,最后被注销

8:成员变量/全局变量:实例变量 类变量

局部变量    

9:所有类的超类(Object)

10:多态:重载 重写 

   重写:

10.1:使用继承  2:子类重写父类的方法 3:父类引用子类

10.1.1:向上转型:会丢失自己特有的属性和方法;

10.1.2:向下转型:恢复自己特有的属性和方法

向下转型:

1.强制类型转换,父类转换子类 

2.应用类型的还原 

3.instanceof (1.判断一个对象是否属于一个类或者实现了一个接口 2.强制类型转换之前使用instanceof运算符检查对象的真实类型,可以避免类型转换异常,从而提高代码的健壮性)

原文地址:https://www.cnblogs.com/zaoxi11/p/6026217.html