邹瑞2020929

总结

多态

一个特定类型的变量,可以引用多个不同类型的对象,并且能自动调用引用对象的方法。也就是 说根据引用对象的不同,响应不同的操作。

方法重写是多态的基础

如:Pet是父类;Dog为子类

Pet pet;

pet = new Dog();

pet.toHospital();

pet = new Cat();

pet.toHospital();

转型

向上转型

由子类类型转换成父类类型,称为向上转型。父类引用指向子类对象

Pet pet = new Dog();

多态就是说一个父类可能有多个子类,每个子类都重写了父类的方法(每个子类都有不同的方法实 现),当父类调用方法时,父类引用指向的是哪个子类,就执行哪个子类的方法。形成了父类引用调用 相同的方法时,有不同的实现。

  1. 父类引用只能调用父类中有的方法(子类继承自父类的方法/重 的方法)
  2. 父类引用不能调用子类扩展的方法(独有的方法)

向下转型

由父类类型转换成子类类型,称为向下转型。必须要进行强制类型转换。 注意:首先要判断是否属于要强转的类型( instanceof ),如果不属于会报 java.lang.ClassCastException

实现多态的条件

  1. 要有继承关系
  2. 父类引用指向子类对象(向上转型)
  3. 子类要重写父类的方法

多态的特点

  1. 可替代性
  2. 可扩充性
  3. 接口性
  4. 灵活性
  5. 简化性

抽象类以及抽象方法

在 java 中,被 abstract 关键字修饰的类叫做抽象类,被 abstract 关键字修饰的方法叫做抽象方法。 抽象方法是没有具体实现(没有方法体)的。 abstract 不能和 final 一起使用。 抽象类/抽象方法作用就是定义规范

有抽象方法的类一定是抽象类,而抽象类可以没有抽象方法

接口

约定好规范,然后按照规范来做。接口就是定义规范。 java 中的接口作用和生活中类似,它提供一种约定,使实现接口的类在形式上保持一致。 抽象类中可以有普通方法而接口中的方法都是抽象的,也可以说接口是一个特殊的 抽象类 ,接口不能被 实例化,而且没有构造方法。

[修饰符] interface 接口名{

​ //接口成员

}

接口中的方法默认是抽象方法,所以可以省略 abstract 修饰符 接口中的方法默认都是 public 的,所以可以省略 public

接口中的变量只能是静态常量( static final ),所以可以省略 static final ,静态常量在定义时就要 赋值,且不可变。

使用接口

接口使用和抽象类一样,都是通过子类。子类通过 implements 关键字实现接口,实现接口就必须实现 接口中的抽象方法

  1. 一个类可以实现多个接口,接口之间使用 , 隔开
  2. 接口的实现类中,可以有普通方法
  3. 实现的方法必须是 public 的

java 中继承是单继承,使用 extends 关键字;但是一个类可以实现多个接口,使用 implements ,多个 接口之间用 , 隔开。

心得

临近放假,有点静不下心,准备假期时间把这两天的好好疏通一下。

标签

评论

this is is footer