一、多态
1.概念:
多态是面向对象的重要特征,多态是具有表现多种形态能力的特征。在程序设计的术语中,它意味着一个特定类型的变量可以引用不同类型的对象,并且能自动地调用引用对象的方法,也就是根据作用的不同对象类型,响应不同的操作。
2.实现多态的要素:
(1.)具有继承关系的父类和子类
(2.)子类重写父类方法
(3.)使用父类的引用指向子类的对象
3. 多态的表现形式:
(1.)父类作为方法形参。
(2.)父类作为方法返回值。
4.多态中的向上转型 :
定义:子类转换成父类
特点:自动转换
5.
多态中的向下转型
定义:父类转换成子类
特点:强制转换
6.多态中的Instance of运算符
定义:Pet instance of Dog 判断Pet类型是否属于Dog类型(父)
7.实例
(1.)Dog类
public class Dog extends Pet {
public void eat(){
System.out.println("吃狗粮*******");
}
public void catchingFlyDisc(){
}
}
(2.)Peguin类
public class Peguin extends Pet{
public void eat() {
System.out.println("吃鱼");
}
public void swimming(){
}
}
(3.)Pet类
public abstract class Pet {
public abstract void eat();
}
(4.)Master类
public class Master {
public void play(Pet pet){
if(pet instanceof Dog){
Dog dog=(Dog)pet;
dog.catchingFlyDisc();
}else if(pet instanceof Peguin){
Peguin peguin=(Peguin)pet;
peguin.swimming();
}
}
}
(5.)Test类
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.println("1,2");
Scanner scanner = new Scanner(System.in);
int type=scanner.nextInt();
}
}
二、接口
1.为什么使用接口:
接口可以实现java中的“多继承”(多功能)
2.什么是接口
(1.)接口的关键字:interface
(2.)接口不能实例化
(3.)接口中的所有方法都是用public abstract修饰的
(4.)实现类必须实现接口的所有方法
(5.)实现类可以实现多个接口
(6.)接口中的变量都是静态常量
3.创建接口的步骤
(1.)创建接口
第一种方式创建:class修改为interface
第二种方式创建:直接创建interface(new class interface)
(2.)创建实现类
(3.)调用接口