以下代码能否通过编译,如果通过编译,运行“java Sub”时得到什么打印结果? abstract class Base{ abstract public void method1();abstract public void method2();}public class Sub extends Base{public static void main(String args[]){Base a = new Sub();a.method1();} public void method1(){System.out.println("method1");}}
A: 运行时打印“method1”。
B: 编译时出错:Sub类必须为抽象类。
C: 运行时出错:Sub类不能被实例化。
D: 编译时出错:main()方法中的变量a必须声明为Sub类型。
A: 运行时打印“method1”。
B: 编译时出错:Sub类必须为抽象类。
C: 运行时出错:Sub类不能被实例化。
D: 编译时出错:main()方法中的变量a必须声明为Sub类型。
举一反三
- 以下代码能否通过编译,如果通过编译,运行“java Sub”时得到什么打印结果? abstract class Base{ abstract public void method1();abstract public void method2();}public class Sub extends Base{public static void main(String args[]){Base a = new Sub();a.method1();} public void method1(){System.out.println("method1");}} A: 运行时打印“method1”。 B: 编译时出错:Sub类必须为抽象类。 C: 运行时出错:Sub类不能被实例化。 D: 编译时出错:main()方法中的变量a必须声明为Sub类型。
- 以下程序的编译和运行结果为? abstract class Base{ abstract public void myfunc(); public void another(){ System.out.println("Another method"); } } public class Abs extends Base{ public static void main(String argv[]){ Abs a = new Abs(); a.amethod(); } public void myfunc(){ System.out.println("My Func"); } public void amethod(){ myfunc(); } }
- 以下程序的运行结果是______ abstract class class1{abstract void method1();}class class2 extends class1{public void method1(){ System.out.println("子类");}}public class MainClass{public static void main(String args[]){class1 ac=new class2();ac.method1();}}
- class A{ public void method(){} public void methodA(){}} class B extends A{ public void method(){} public void methodB(){} }<br/>则若有 A a = new B();a.methodB();下列说法正确的是() A: 执行类A的方法method B: 执行类B的方法methodB C: 编译通过,无法执行 D: 编译出错
- 以下代码调试结果 class Base {} class Sub extends Base {} public class CEx{ public static void main(String argv[]){ Base b = new Base(); Sub s = (Sub) b; } }