public class AllFinals { final Vector v; public AllFinals() { } }
The above code will
1.Not compile. Vector v is not initialized. 2.Will compile and throw a RuntimeException 3.Will compile and not throw any Exception during runtime. V is initalized to null.
Answer is 1. My question is v should get initialized to null (default value for an object) and if that is the case answer should be 3. can anybody explain?
Antonio Trapero
Greenhorn
Joined: Mar 24, 2007
Posts: 11
posted
0
v is final, cause of that, you must initialize it before contructor ends.
Mahendra Shelke
Greenhorn
Joined: May 08, 2006
Posts: 20
posted
0
You are correct the answer is 1 , that is because v is final without any initialization parameters i.e it is a blank final and must be initialized in the constructor to null or any other valid value you wish to.
karnatam narendraprasad
Ranch Hand
Joined: Mar 01, 2007
Posts: 30
posted
0
final variables can assign a value once.the compiler will not initilaze any default value
Narendra
Srinivas Kumar
Ranch Hand
Joined: Jul 14, 2005
Posts: 52
posted
0
Thanks to all for the explanation
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.