十、接口interface和多态

1.接口

1.1java中定义接口格式

格式:
	interface 接口名 {
		成员变量
		成员方法
	}
要求:
	1. 接口名要求符合命名规范,大驼峰命名法,见名知意
	2. 成员变量【缺省属性】 public static final 定义时必须初始化
	3. 成员方法【缺省属性】 public abstract 方法没有方法体

1.2java中类实现接口

关键字:
	implements

格式:
	class A implements B {
	
	}
	A类是B接口的实现类
	A类遵从B接口

一个类可以实现多个接口,使用英文逗号隔开class F implements C, D, E{}
接口可以继承接口,用extends,interface ISon extends IFather{}


1.3abstract类遵从接口

abstract修饰的方法
	1. 没有方法体
	2. 必须定义在abstract修饰的类内,或者interface接口内
	

abstract修饰的类遵从接口,不强制完成接口中缺省属性为abstract修饰的方法
一般会选择性完成一些统一功能方法,简化后期代码的压力

1.4 JDK1.8新特征 default关键字

JDK1.8 更新特征
	default关键字可以在接口中使用,用于修饰方法,使用default关键字修饰的方法在接口中是允许有方法体的
	【默认方法】【非强制重写方法】

2.多态

1. 父类的引用指向子类的对象
2. 或者接口的引用指向遵从接口的类对象


1. 一个方法需要的参数是父类,传入实际参数是父类对象本身,或者其子类对象都是OK的!
2. 一个方法返回值类型是父类,实际返回的数据时父类对象本身,或者其子类对象也是OK的!
3. 引用数据类型之间的强制类型转换时允许使用,但是要求明确真实数据类型是一致的,不然会导致异常出现ClassCastException
posted @ 2020-05-11 21:48  jacob_code  阅读(122)  评论(0)    收藏  举报