我对理解其中一个代码有疑问。如果有人能帮助我理解它,我将不胜感激。
如果 C 的声明会发生什么:
class C {
void process1(char ch) {
System.out.println ("Inside process1 in C " + ch); }
void process2(char ch) {
System.out.println ("Inside process2 in C " + ch); }
void process3(char ch) {
System.out.println ("Inside process3 in C " + ch);
process2(ch); }
}
紧随其后的是以下扩展声明:
class ExtC extends C {
void processl(int n) {
System.out.println ("Inside process1 in ExtC " + n); }
void process2(char ch) {
System.out.println ("Inside process2 in ExtC " + ch); }
void process4(int n) {
System.out.println ("Inside process4 in ExtC " + n); }
}
如果声明三个对象,会调用哪些方法
ExtC object1 = new ExtC( );
C object2 = new ExtC( ), object3 = new ExtC( );
后面是这些语句:
object1.process1(1000);
object1.process4(2000);
object2.process1(3000);
object2.process4(4000);
object3.process1(‘P');
object3.process2('Q');
object3.process3('R');
问题编号 3。
我意识到它将首先在 ExtC 1000 中打印 1- 内部进程 1 然后它将在 ExtC 2000 中打印 2- 内部进程 4
但那又如何呢?object2 和 object 3 会发生什么?我应该看Extend还是Class C?