10. abstract class A {
11. abstract void al();
12. void a2() { }
13. }
14. class B extends A {
15. void a1() { }
16. void a2() { }
17. }
18. class C extends B { void c1() { } }
and:
A x = new B(); C y = new C(); A z = new C();
Which four are valid examples of polymorphic method calls? (Choose
four.)
A. x.a2();
B. z.a2();
C. z.c1();
D. z.a1();
E. y.c1();
F. x.a1();
Answer: ABDF谁帮我说说C选项为什么错了??
11. abstract void al();
12. void a2() { }
13. }
14. class B extends A {
15. void a1() { }
16. void a2() { }
17. }
18. class C extends B { void c1() { } }
and:
A x = new B(); C y = new C(); A z = new C();
Which four are valid examples of polymorphic method calls? (Choose
four.)
A. x.a2();
B. z.a2();
C. z.c1();
D. z.a1();
E. y.c1();
F. x.a1();
Answer: ABDF谁帮我说说C选项为什么错了??
父类的公用方法子类可以直接使用,包括public限定的,默认限定的(只限同包中),procted(同包或相关子类),private(不可以使用)。
而子类定义的方法一般父类不可以使用。这只是一般情形,如果想要使用,采用引用强制转换成子类类型就可以了。另外,可以使用的方法是字节码修正。
实例Y是C构造的类,C1是他自己的方法~~也没用多态。