Java Virtal Machine.net

[ News ] rss

February 01, 2011

Mark Wielaard: New GPG key. Finally created a new GPG key using gnupg. The old one was a DSA/1024 bits one and 8 years old. The new one is a RSA/2048 bits one. I will use the new one in the future to sign any release tarballs I might create. pub 2048R/57816A6A 2011-01-29 Key f...

More »

February 01, 2011

Andrew Hughes: [SECURITY] IcedTea6 1.7.8, 1.8.5, 1.9.5 Released!. We are pleased to announce a new set of security releases, IcedTea6 1.7.8, IcedTea6 1.8.5 and IcedTea6 1.9.5. This update contains the following security updates: The IcedTea project provides a harness to build the source code from OpenJDK6 u...

More »

November/2024
SunMonTueWedThuFriSat
     12
3456789
10111213141516
17181920212223
24252627282930
       

[ Archives News
for 'Developers' ]

home > news > developers > code advice #12: use final on constructor and setter parameters

Code Advice #12: Use final on constructor and setter parameters

(See intro for a background and caveats on these coding advice blog entries.) In my previous code style entry I recommended a setter pattern where the parameter is identical to the field name, as in the following: void setTemperature(int temperature) { this.temperature = temperature; } I mentioned that there is the potential of a bug here if the parameter name has a typo; the code will compile just fine but not work as expected since you will be assigning the field back to itself. There is another problem that can occur when you are "masking" the field with a parameter name. What if you add some code where you don't realize that the name is referring to a parameter, not the field? If you try to update the field, you will update the parameter instead: void setTemperature(int temperature) { this.temperature = temperature; ... ... // Other code here ... if (temperature temperature = -273; } } Ooops! This motivates another good pattern (besides validating before assigning): Use the final modifier on parameters in constructors and setter methods: void setTemperature(final int temperature) { this.temperature = temperature; ... ... // Other code here ... if (temperature // Won't compile } } The final modifie...


Date: August, 08 2006
Url: http://blogs.sun.com/tor/entry/code_advice_12_use_final


Others News

©2002-2019Java-Virtual-Machine.net mobirise | it | bootstrap modal popup | bootstrap forms | html slider