假设有接口 I1 和 I2
interface I1{int i=1; void foo();}
interface I2{int i=2; int foo();}
有没有办法让一个类A实现它们两个?我无法正确实现foo方法,这是有道理的,因为在I1.foo()和I2.foo()中具有相同的输入参数将不允许类A区分它们两个。
但常量"i"不是问题,只要您在尝试读取它们时将A转换为其中一个接口:
System.out.println(((I2)new A()).i);
看起来编译器说:“好吧,我会让你在'potentiality'存在歧义,但是当涉及到'actuality'时,我会阻止你”。而方法的“实际性”似乎更早出现。
我对吗?我有遗漏什么吗?还是我只是想象编译器像亚里士多德主义者一样与我交谈?