Polymorphism via Interfaces 例如:建立一个实现 speaker接口的类Dog和类 Phi1 osher,那么同一个接口引用变量可以在某时刻 指向助 nilosphe对象,之后某时刻又可以指向Dog类 对象。 In the following code, the first call to speak invokes one version and the second invokes another. Speaker guest new Philospher o)i guest. speak o)i guest new Dog ( guest. speak o)i
Polymorphism via Interfaces ◼ 例如:建立一个实现Speaker接口的类Dog和类 Philospher,那么同一个接口引用变量可以在某时刻 指向Philospher对象,之后某时刻又可以指向Dog类 对象。 ◼ In the following code, the first call to speak invokes one version and the second invokes another: Speaker guest = new Philospher(); guest.speak(); guest = new Dog(); guest.speak();
■当使用接口引用变量时,只能调用定义在接口中 的方法,即使接口引用变量所指向的对象还有其 他的方法,也不能调用。 ■接口名也可以用作方法参数的类型,使得任何实 现同一接口的实现类对象都可以作为参数传递给 方法。 Public void salt(Speaker current) current speak;
◼当使用接口引用变量时,只能调用定义在接口中 的方法,即使接口引用变量所指向的对象还有其 他的方法,也不能调用。 ◼ 接口名也可以用作方法参数的类型,使得任何实 现同一接口的实现类对象都可以作为参数传递给 方法。 ◼ Public void sayIt (Speaker current) ◼ { ◼ current.speak(); ◼ }