1.多态(一种现象)
继承是多态的实现基础
多态:即对象的多种形态
1.引用多态
父类的引用可以指向本类对象
父类的引用可以指向子类对象
这就是引用多态
2.方法多态
创建本类对象时,调用的方法为本来的方法
创建子类对象时,调用的方法为子类重写的方法或继承的方法
二.接口
什么是接口呢???
接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成
如果说类是一种具体实现体,那么接口就是某些类所要遵循的规范,接口只是一种规范,不关心类的内部数据和方法实现的细节,它只规定类中必须有什么东西,是用来约束类的。用interface关键字定义接口
要注意的是接口一般都是用来被继承,被实现的。修饰符一般用public,不用protected和private修饰接口
接口中全是常量和抽象方法
问题来了,怎么去使用接口呢??
一个类可以实现一个或多个接口,实现接口使用implements 关键字。。。我们知道Java中一个类只能继承一个父类,这样是不是很不灵活,那么就可以通过接口进行补充
这里需要 注意的是继承和接口的实现顺序是不能互换的,也就是必须先继承再实现接口,还有就是实现接口时,同样也要实现接口里的方法
下面看一个接口实现的例子
//接口
packageClassDemo1;public interfaceIWatch {public voidwatch();
}//Woker类
packageClassDemo1;public class Woker implementsIWatch{
@Overridepublic voidwatch() {
System.out.println("我们都有一双明亮的眼睛");
}
}//Student类
packageClassDemo1;public class Student extends Person implementsIWatch{public voidsay() {
System.out.println("学生会说不同的语言");
}public voidwatch()
{
System.out.println("我们也有一双明亮的眼睛");
}
}//测试类、
packageClassDemo1;public classMain {public static voidmain(String[] args) {
IWatch i=new Woker(); //用接口引用指向实现接口的对象
IWatch j=newStudent();
i.watch();
j.watch();
}
}
View Code
另外附上测试结果