Java入门(六)继承和多态概述

继承

如果写了好几个类,其中有两个类语法差不多,这时候就可以用继承,避免重新又写一遍。
关于继承

  1. 继承是面向对象三大特征之一:封装,继承,多态
  2. 继承基本作用是代码复用,有了继承,才有了以后方法的覆盖与多态机制
  3. 继承语法格式:
    【修饰符列表】class 累名 extends 父类名{
    类体=属性+方法
    }
  4. java语言当中的继承支持单继承,一个类不能同时继承很多类,在c++中支持
  5. 关于继承的一些术语:
    a) B类继承A类,其中:
    b) A类称为父类,基类,超类
    c) B类称为子类,派生类
  6. 子类继承父类
    a)私有的不支持继承
    b)构造方法不支持继承
  7. 然Java语言中只继承单继承,但一个类可以间接继承其他类
    C extend B{}
    B extend A{}
  8. java语言中假设一个类没有显示继承,默认继承Object

多态

继承,动物,猫类,重写方法,重载方法
关于java语言当中的多态语法机制
1、 几个Animal,Cat,Bird类之间的关系
Cat继承Animal
Bird继承Animal
Cat和Bird之间没有任何继承关系

2、 面向对象三大特征,
3、 关于多态中涉及到的几个概念:(除了布尔类型,其他类型都可以进行类型转换)
*向上转型:自动类型转换
子类型—》父类型
*向下转型:强制类型转换
父类型—》子类型
无论是向上还是向下,两种类型之间必须要有继承关系

向上转型,对象就不能调用子类的了,只能调用父类的,因为对象检测出来的数据类型是父类(编译器绑定),但运行看的是底层的类,即子类

1、 java程序永远分为编译阶段和运行阶段
2、 先分析编译阶段,在分析运行阶段,编译无法通过,根本无法运行
3、 编译阶段编译器检察对象引用的数据类型为父类,由于父类字节码中有move方法,所以编译通过了。这个过程我们称为静态绑定,编译阶段绑定。只有静态绑定成功之后才有后续的运行。
4、 在程序运行阶段,JVM堆内存当中真实创建的对象是Cat对象,那么以下程序在运行阶段一定会调用Cat方法,此时发生了程序的动态绑定,运行阶段绑定

猜你喜欢

转载自blog.csdn.net/sand_wich/article/details/106107657