posted 22 years ago
<code><pre>
class Process {
byte b=127;
Process() {
this.methodA();
}
This method didn't get called
void methodA() {
System.out.println("Process:MethodA() - Value of b is = " + b );
}
public static void main(String [] args) {
Processor p = new Processor();
}
}
class Processor extends Process {
byte b=126;
Processor() {
System.out.println("Processor:Constructor - Value of b = " + b);
}
Instead this method get called
void methodA() {
System.out.println("Processor:MethodA() - Value of b = " + this.b);
}
}
</pre></code>
Can someone explain why the output is 0 and 126.
Since Processor.b didn't get a chance to init thats why output is 0.
Since at runtime the actually Object's method get called thats why Processor method get called.