多态的三大必要条件(实现):
1.需要有继承(继承类,继承抽象类,实现接口)
2.需要有重写
3.父类型的引用执行子类型
例子:用多态实现说话的同时打印说这句话的时间
思路及代码:
1.由于现在不知道说话的内容太过抽象所以创建接口
- public interface TimeSpeek {
- public abstract void getTimeSpeek();
- }
2.接口中的方法需要实现所以现在需要创建两个类来确定说话内容
第一句话
- public class SpeekOne implements TimeSpeek {
- @Override
- public void getTimeSpeek() {
- // TODO Auto-generated method stub
- System.out.println("Hello1");
- }
- }
第二句话
- public class SpeekTwo implements TimeSpeek {
- @Override
- public void getTimeSpeek() {
- // TODO Auto-generated method stub
- System.out.println("Hello2");
- }
- }
3.说话的内容确定后就需要在说话的同时打印时间
- import java.util.Date;
- public class GetTime {
- public GetTime(TimeSpeek getTimeSpeek) {
- this.getTime(getTimeSpeek);
- }
- public void getTime(TimeSpeek getTimeSpeek) {
- System.out.println("开始时间:" + new Date().getTime());
- getTimeSpeek.getTimeSpeek();
- }
- }
4.创建测试类运行
- public class Test {
- public static void main(String[] args) {
- SpeekOne so = new SpeekOne();
- SpeekTwo st = new SpeekTwo();
- new GetTime(so);
- new GetTime(st);
- }
- }
通过以上步骤得出结果:
开始时间:1565510695244
Hello1
开始时间:1565510695245
Hello2