Java基础-面向对象-多态

135 阅读2分钟

面向对象-多态

一.接口

​ 书写规范:I 类名

1.接口的基本语法:

【直接更改类方法的class】

public internface 接口名字{

}

2.接口里面可以写那些内容:

2.1成员变量:

​ 默认是由public static final 修饰的

2.2抽象方法:

​ 默认是由public abstract修饰的

​ 【工作中大多数把public abstract省略了】 例如:void pay();

jdk1.8才出的特性---

2.3静态方法:

​ 由static修饰的方法;

​ 例如:public static void show() { }

2.4默认方法:

​ 由default修饰的方法

​ 例如:public default void show() { }

3.注意事项:

​ 3.1接口与接口之间可以继承,并且支持多继承

​ 3.2接口里面没有构造方法,所以接口不能创建对象

​ 3.3面试题:请说说接口和抽象类的区别?抽象类可以使用构造方法

4.接口与类的关系【implements】

​ --------接口的作用其实是用来定义标准-------

4.1.书写规范:

​ Impl

4.2.实现接口语法:

public class 类名 implements 接口名{

}

4.3.接口实现的注意事项:

​ 5.1 一个类可以实现多个接口,覆写接口里面的所有方法

​ 5.2一个类可以同时继承一个类,并且实现多个接口,但是要先继承后实现

​ 5.3抽象类实现接口,可以灵活的去选择实现哪些接口,不实现哪些接口,因为抽象类里面可以允许写抽象方法

1691034240405转存失败,建议直接上传图片文件

没有覆写的抽象方法

二.多态

1.官方概念:

【编译时和运行时类型不一致的情况叫做多态】

​ 坊间说法:

​ 使用父类类型接受子类型对象,使用接口接收实现类对象

一般写法:

1691043564895.png

2.多态写法:

1691049454824.png编译时看边,运行时看边】

3.注意事项:

​ 3.1不能直接去使用子类特有的属性方法

​ 3.2即使是多态的写法依然是优先找子类本身,子类没有再去找父类

4.多态体现在什么地方:

​ 4.1在方法的形参列表 使用父类类型接收子类对象

​ 4.2在方法的返回值 方法的返回值类型是父类类型,return语句返回的是子类对象

引用数据类型

​ 小-------> 大就是多态

​ 大 ------->小 强制转换;-----因为多态的写法不能使用子类特有的属性和方法

小的数据类型 变量名 = (小的数据类型) 大的数据类型