以下哪些代码块能够编译通过?()
A. class Fruit { }public class Orange extends Fruit {public static void main(String[]args){Fruit f=new Fruit();Orange o=f;}};
B. class Fruit {}public class Orange extends Fruit {public static void main(String[]args){Orange o=new Orange();Fruit f=o;}};
C. interface Fruit {}public class Apple implements Fruit {public static void main(String[]args){Fruit f=new Fruit();Apple a=f;}};
D. interface Fruit {}public class Apple implements Fruit {public static void main(String []args){Apple a=new Apple();Fruit f=a;}};
E. interface Fruit {}class Apple implements Fruit {}class Orange implements Fruit {}public class MyFruit {public static void main(String []args){Orange o=new Orange();Fruit f=o;Apple a=f;}}