关于下面的程序,哪个结论是正确的?public class Test{public Test(){System.out.print("3");}public void Test() {System.out.print("2");}public static void main(String args[]) {Test t=new Test();t.Test();System.out.print("1");}}
A. 程序可以通过编译并正常运行,输出结果为21
B. 程序可以通过编译并正常运行,输出结果为31
C. 程序可以通过编译并正常运行,输出结果为321
D. 程序无法通过编译
查看答案
给定如下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;