给定如下Java程序,class A{public A(){System.out.print("A");}}class B extends A{public B(){System.out.print("B");}public static void main(String args[]) {B b=new B();}}上述程序将()
A. 不能通过编译
B. 通过编译,执行后输出为AB
C. 通过编译,执行后输出为B
D. 通过编译,执行后输出为A
查看答案
已知MyInterface是一个接口,ClassA是实现了MyInterface的一个类,ClassB是ClassA的子类,则下列哪个语句是正确的?
A. ClassB obj=new ClassA();
B. MyInterface obj=new ClassB();
ClassA obj=new MyInterface();
D. MyInterface obj=new MyInterface();
A 派生出子类B,B派生出子类C,并且在源代码中有如下声明:A a0=new A();A a1=new B();A a2=new C();以下哪个说法是正确的?
A. 只有第一行能通过编译
B. 第一行和第二行能通过编译,但第三行编译错误
C. 第一至三行能通过编译,但第二三行运行时出错
D. 第一行、第二行第三行的声明都是正确的
对于以下类,class A{}class B extends A{}class C extends A{}public class Test{public static void main(String args[]) {A x=new A();B y=new B();C z=new C();//此处插入一条语句}}下面哪个语句可以放到插入行?
A. x=y;
B. z=x;
C. z=(c)y;
D. y=(a)y;
设有一个类的代码如下:class Outer{public class Inner1{}public static class Inner2{}}则在另一个类的代码中,下列哪个语句是正确的?
A. Outer.Inner1 obj=new Outer.Inner1();
B. Outer.Inner2 obj=new Outer.Inner2();
C. Outer.Inner1 obj=new Outer.Inner1().new Inner1();
D. Outer.Inner2 obj=new Outer().new Inner2();