idea重構功能非常強大,特別是在java web方面,甚至能夠重構html/css/js,下面我將為讀者介紹idea的重構功能
重構快捷鍵Ctrl+Shift+Alt+T
1、重構之函數
public class ExtractMethord { public void main(String[] args) { System.out.println("Hello World!"); System.out.println("function start......"); System.out.println("1 + 1 = " + (1 + 1)); System.out.println("function over!"); System.out.println("program is over!"); } }
如圖所示,我選擇想要提取的代碼,按快捷鍵Ctrl+Alt+M
,就會彈出框,寫出方法名稱即可快速提取一個方法。

提取方法
同樣的idea 不僅可以提煉方法,還可以內聯方法,其實就是提煉方法的逆操作,比如選擇print按Ctrl+alt+N
就會將print方法整個嵌套到剛剛的位置。
同樣的idea提供了修改函數的參數名稱,函數的參數位置

image.png
如圖所示,就可以更改函數參數的順序!!很強大有沒有!!
2、重構之變量
Ctrl+Alt+C
快速提取常量(Constant)
Ctrl+Alt+V
快速提取變量(Variable)
Ctrl+Alt+F
快速提取成員變量(Filed Variable)
除了以上這些idea還提供了重構變量類型的強大功能!
Ctrl+Shift+f6
重構變量的類型
點擊變量,直接使用快捷鍵即可

4、快速更改類名稱
選中類名稱,按快捷鍵shift+F6
可以快速更改類名稱,如果當前類是public的,idea會同時把文件名稱給也修改了!甚至如果其他地方有引用該類的地方,會提醒你要不要一起更改,是不是功能很強大?!

5、Pull Members Up
開始之前讓我們先看看Cal2類:
public class Cal2 extends Cal { public int sub(int a,int b){ return a-b; } }
以及Cal2的父類Cal
public class Cal { public int add(int a,int b){ return a+b; } }
最后的結果,就是將Cal2類中的sub方法,提到父類:
public class Cal { public int add(int a,int b){ return a+b; } public int sub(int a,int b){ return a-b; } }
而我們所要做的就是鼠標右鍵
Refactor->Pull Members Up
將方法讓子類繼承,如圖所示,Alt+Enter鍵后選擇Implement method 'XXX'