玩转Eclipse — 自动生成setter和getter方法
我們在程序開發(fā)過程中,往往要編寫這樣的類:類的部分或者全部屬性不希望讓外部世界直接訪問,而不用public字段修飾。這樣,方法調(diào)用成了訪問這些屬性的唯一途徑。JavaBean就是一個很好的例子,其嚴(yán)格遵守面向?qū)ο蟮脑O(shè)計邏輯,所有屬性都是private。對于任何屬性xxx,都有public的getXxx()方法來獲取屬性和public的setXxx()方法來修改屬性。如果只有少量這樣的屬性,可以通過手動方式為它們添加setter和getter方法。但是,如果有大量這樣的屬性,手動添加會很費(fèi)時。
? ? ? ? 下面通過一個示例,來介紹如何通過Eclipse自動生成需要的setter和getter方法。示例代碼如下:
[java]?view plaincopy1. ?基本設(shè)置
? ? ? ??在代碼編輯器中打開Boy.class文件,使用快捷鍵Alt + Shift + S,再按R鍵(你Eclipse中的快捷鍵可能不同),或者右鍵選擇Source -> Generate Getters and Setters...,操作如下圖所示:
? ? ? ??進(jìn)入自動生成setter和getter方法的設(shè)置界面如下:
- Select
Select All:選擇為所有的屬性添加setter和getter方法
Deselect All:取消所有已選擇的setter和getter方法
Select Getters:選擇所有屬性的getter方法
Select Setters:選擇所有屬性的setter方法
- Insertion point
可以選擇為該文件的“First Member”,“Last Member”,或者某個元素之后等。
- Sort by
Fields in getter/setter pairs:每個屬性的getter和setter方法成對排序
First getters, then setters:所有的getter方法在所有的setter方法之前
- Access modifier
可以選擇訪問權(quán)限:public,protected,default,private
還可以選擇是否為final或者synchronized
- Comments
可以選擇是否在自動生成setter和getter方法的同時,為它們生成注釋
? ? ? ?另外,在Code Template中可以設(shè)置自動生成的setter和getter方法的主體和注釋的格式。
2. setter方法的參數(shù)加前綴
? ? ? ??一般情況下,自動生成的setter方法中的參數(shù),會跟屬性完全相同,需要通過this來區(qū)分同名屬性和參數(shù)。示例如下:
[java]?view plaincopy
? ? ? ??在比較嚴(yán)的代碼格式檢查中,這種情況會提示‘xxx’ hides a field的問題。為了避免這種checkstyle的問題,通過在該項目的.settings目錄下的org.eclipse.jdt.core.prefs文件,在其末尾添加org.eclipse.jdt.core.codeComplete.argumentPrefixes=new,就可以在自動創(chuàng)建的所有setter方法的參數(shù)前面加上new前綴。這種配置,需要重新啟動Eclipse才能生效。這種方法的具體操作和分析,可以參考《玩轉(zhuǎn)Eclipse — 項目的.settings目錄解密》。
? ? ? ??進(jìn)行以上配置之后,自動生成的setter和getter方法后的完成的代碼如下:
[java]?view plaincopy
? ? ? ??? ? ? ??1)setter方法的參數(shù)會自動大寫屬性的首字母,并加上前綴。
? ? ? ??? ? ? ??2)setter方法的參數(shù)在屬性前面加了前綴之后,就沒有必要再用this區(qū)分屬性和參數(shù)。
? ? ? ??? ? ? ??3)對于boolean類型的屬性,getter不再是get開頭,而是以is開頭。
from:?http://blog.csdn.net/jmyue/article/details/11903899
總結(jié)
以上是生活随笔為你收集整理的玩转Eclipse — 自动生成setter和getter方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10个实用的但偏执的Java编程技术
- 下一篇: HTML 30分钟入门教程