Hi ,
I am migrating slowly from c++ to java. The output of the following program differs from c++ in java. It should be really easy for any java programmer to explain. Just an hint could help me to understand.
class base {
public void f(){
System.out.prin tln("base.f()") ;
g();
}
public void g(){
System.out.prin tln("base.g()") ;
}
}
class derived extends base {
public void g(){
System.out.prin tln("derived.g( )");
}
}
public class bade{
public static void main(String[] args){
base p = new derived();
p.f();
}
o/p in java -> base.f(), derived.g()
o/p in c++ -> base.f(),base.g ().
I am migrating slowly from c++ to java. The output of the following program differs from c++ in java. It should be really easy for any java programmer to explain. Just an hint could help me to understand.
class base {
public void f(){
System.out.prin tln("base.f()") ;
g();
}
public void g(){
System.out.prin tln("base.g()") ;
}
}
class derived extends base {
public void g(){
System.out.prin tln("derived.g( )");
}
}
public class bade{
public static void main(String[] args){
base p = new derived();
p.f();
}
o/p in java -> base.f(), derived.g()
o/p in c++ -> base.f(),base.g ().
Comment