class A{ public void method(){} public void methodA(){}} class B extends A{ public void method(){} public void methodB(){} }
则若有 A a = new B();a.methodB();下列说法正确的是()
A: 执行类A的方法method
B: 执行类B的方法methodB
C: 编译通过,无法执行
D: 编译出错
则若有 A a = new B();a.methodB();下列说法正确的是()
A: 执行类A的方法method
B: 执行类B的方法methodB
C: 编译通过,无法执行
D: 编译出错
举一反三
- abstract class BaseClass { public virtual void MethodA() { } public virtual void MethodB() { } } class Class1: BaseClass { public void MethodA(string arg){ } public override void MethodB(){ } } class Class2: Class1 { new public void MethodB(){ } } class MainClass { public static void Main(string[] args) { Class2 o = new Class2(); Console.WriteLine(o.MethodA()); } } 请问,o.MethodA调用的是 A: BaseClass.MethodA B: Class2.MethodA C: Class1.MethodA D: 都不是
- 把方法声明为抽象的公共方法是()? A: public abstract method(); B: public abstract void method(); C: public abstract void method(){} D: public void method()extends abstract
- 下面哪条语句把方法声明为抽象的公共方法?( )。 A: public abstract void method(){} B: public void method() extends abstract C: public abstract method() D: public abstract void method()
- 下面哪条语句把方法声明为抽象的公共方法? A: public abstract method(); B: public abstract void method(); C: public abstract void method(){} D: public void method() extends abstract;
- 在下面的类中,合法重载的方法是( ) public class Q1{ public void method(int i){} } A: private void method(int i){} B: public void method(int k){} C: public int method(int i){} D: private float method(float f){}