找人代劳的Java语言(11)——多态,接口"/>
面向对象:找人代劳的Java语言(11)——多态,接口
多态
多态即提供接口,面对不同的对象执行不同的操作;向上转型,父类的引用指向子类的对象。
多态三要素:
继承关系
子类重写父类方法;
父类的引用指向子类的对象;
实现多态的两种形式
- 使用父类作为方法形参实现多态;
- 使用父类作为方法返回值实现多态;
使用多态:
主人类中使用父类作为方法形参;
public class Master {public void feed( Pet pet ) {pet.eat(); }
}
测试方法:
同一种操作方式,不同的操作对象;
… …
Pet pet = new Dog();
Master master = new Master();
master.feed( pet );
… …
instanceof运算符
语法:对象 instanceof 类或接口
instanceof通常与强制类型转换结合使用;
如:pet instanceof Dog //表示如果传入的是狗狗, 值为布尔类型
接口
接口关键字:interface;
接口中定义的方法都为抽象方法,不用特意声明,默认为abstract;
注意点:
- 接口不可被实例化;
- 实现类必须实现接口的所有方法;
- 实现类可以实现多个接口;
- 接口中的变量都是静态常量。
编码实现
接口的编码实现分三步:
- 编写接口
public interface UsbInterface {/*** USB接口提供服务。*/void service();
}
- 实现接口
实现接口使用关键字implements;多个接口使用“,”分隔。
public class UDisk implements UsbInterface {public void service() {System.out.println("连接USB口,开始传输数据。");}
}
- 使用接口
用借接口实现多态。
UsbInterface uDisk = new UDisk();
uDisk.service();
接口表示一种能力
体现在接口的方法上;面向接口编程在程序设计时:
- 关心实现类有何能力,而不关心实现细节;
- 面向接口的约定而不考虑接口的具体实现。
更多推荐
面向对象:找人代劳的Java语言(11)——多态,接口
发布评论