java 没有强转,但是实现类的方法照样运行了,这是怎么回事呀?
先看代码:
ExecutorService s = Executors.newFixedThreadPool(10);
Test t = new Test();//这是一个实现了Callable接口的类
s.submit(t);
这时候s的类型是ExecutorService,它是一个接口,源码中submit()并没有被实现,但是此时的程序却可以运行,结果也没问题。
不是必须强转才能使用子类的方法吗?但是我没强转照样可以运行,看了一个小时还不理解,不知道怎么回事*~*