Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Output Doubt

 
Vierda Mila
Ranch Hand
Posts: 61
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi Ranchers,

Please check below from Sun free assesment :

class Super {

protected int a;

protected Super (int a) {

System.out.println (this.a);
this.a = a;
}

}

class Sub extends Super {

public Sub (int b) {

super (b);
a=super.a;

}

public static void main (String[] args) {

new Sub (7).go();

}

void go () {System.out.println (this.a);}

}

Above code give output 07.

I think 0 is coming when it creates Sub object it call Super constructor and in constructor it print default value of variable a.

and 7 comes from invoking method go and print value of a, which is has initialized in Sub constructor.Am I right?? please somebody clarify to me and thanks in advance.
 
agilemanoj kumar
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes... your thinking is correct...
 
Vierda Mila
Ranch Hand
Posts: 61
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
thanks a lot manoj
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic