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

Initilization

 
lakshmi nair
Ranch Hand
Posts: 63
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was testing the order of initialization of static, non-static members. I get that static are initialized first, then non static and constructors are called after that. But why is the variable values are again set to zero when constructors are called? Please check the below code and explain...
I strongly feel that i am missing something.

Thanks
Lakshmi
 
anrup kris
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Supriya
Let's start with the static variables i,j.
You have declared them at the top,and they get default values of 0 each. Within the static block,you have again declared i,j as
int i = 2;
int j = 1;
.These are two new variables and they are effectively local to the block,and the values of 2,1 that you assign to these completely different variables are lost once the execution completes the static block.Similar reasoning for the instance variables m,n
For what you are planning,remove the "int" declaration within the static block ,likewise for the instance variables
hope this clarifies your doubt

kris
Look at your code below:


[This message has been edited by anrup kris (edited October 27, 2000).]
 
Anna s Iyer
Greenhorn
Posts: 24
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Lakshmi,
Look at this and will be very helpful.
Anna S Iyer.

[This message has been edited by Anna s Iyer (edited October 27, 2000).]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic