继承超类接口

时间:2014-12-17 16:59:48

标签: java oop

情况就是这样:

public class Super implements Interface1 {}
public class Sub extends Super {}

我怎么能实现这个目标?

Interface1 listener = (Interface1) subClassObject;

作为subClassObject,作为param传递的Sub类的实例。这是抛出ClassCastException。 感谢

1 个答案:

答案 0 :(得分:4)

这可以不投射:

interface MyInterface {}
class Super implements MyInterface {}
class Sub extends Super {}

public class Main {
    public static void main(String args[]) {
        MyInterface i = new Sub();
    }
}

没有例外。

修改

  

想象一下,该对象是作为参数传递的

这也完美无缺:

public class Main {
    public static void main(String args[]) {
         myMethod(new Sub());
    }

    public static void myMethod(Sub s) {
        MyInterface i = s;
    }
}