一.java接口
引用类型的一种,一些抽象方法的集合,对外提供行为规范
1.接口定义格式:
public interface 接口名称{
//抽象方法
}
接口里面只能有抽象方法,不能包含非抽象方法
实现接口用implements
接口里面只能有常量
2.类和接口的关系:
可以有单继承,也可以有多继承
3.接口和接口的关系
可以有单继承,也可以有多继承
案例:智能门和普通门
4.接口和抽象类的区别:
抽象类成员:成员变量,常量,抽象方法,非抽象方法,构造方法
接口成员:常量,抽象方法
5.关系:
类和抽象类之间:单继承,没有多继承
类和接口:单实现,多实现
接口和接口:单继承,多继承
二.多态
多态是继封装和继承之后,面向对象的第三大特征。在生活中,比如跑起来的动作,小猫和小狗,大象等跑起来的动作是不一样的,可以体现出不同的形态,多态,描述的就是这样的状态
1.定义:是指同一行为,具有不同的表现形式
2.前提:
- 继承或实现
- 方法的重写
- 父类引用指向子类对象
3.多态格式:
父类类型 变量名=new 子类对象
多态下的成员变量访问:编译看左边,运行看左边
多态下的成员方法的访问:编译看左边,运行看右边
4.多态的好处:
在实际开发的过程中,父类类型作为方法形式作为参数,传递给子类对象给方法,进行方法的调用,更能体现多态的扩展性与便利
5.多态的引用类型转换
分为向上转型和向下转型两种
向上转型:多态本身是子类类型向父类类型向上转换的过程,过程是默认的。当父类引用指向一个子类对象,就是向上转型
父类类型 变量名=new 子类类型()
Animal a=new Cat()
向下转型:父类类型向子类类型向下转换的过程。这个过程是强制的。一个已经向上转型的子类对象,将父类引用转为子类引用,可以使用强制类型转换的格式,就是向下转型
子类类型 变量名=(子类类型)父类变量名
Cat c=(Cat)a