本文目錄一覽:
Java中重構是什麼意思?
java重構:指程序員對已有程序在盡量不改變介面的前提下,進行重新編寫代碼的工作,一般有以下幾方面:
1、去除已知bug。
2、提高程序運行效率。
3、增加新的功能。
重構舉例:(簡化代碼、提升效率)
重構前:
if(list != null list.size() 0){
for(int i = 0; i list.size(); i++){
//skip… }}
重構後
if(list != null){
for(int i = 0, len = list.size(); i len; i++){
//skip… }}
java中重構是什麼意思
java重構:指程序員對已有程序在盡量不改變介面的前提下,進行重新編寫代碼的工作,一般有以下幾方面:
1、去除已知bug。
2、提高程序運行效率。
3、增加新的功能。
重構舉例:(簡化代碼、提升效率)
重構前:
if(list != null list.size() 0){
for(int i = 0; i list.size(); i++){
//skip…
}
}
重構後
if(list != null){
for(int i = 0, len = list.size(); i len; i++){
//skip…
}
}
java方法重載和方法重寫的例子
下面將分別講解重載與重寫:
1、重載overloading
1) 方法重載是讓類以統一的方式處理不同類型數據的一種手段。多個同名函數同時存在,具有不同的參數個數/類型。重載是一個類中多態性的一種表現。
2) Java的方法重載,就是在類中可以創建多個方法,它們具有相同的名字,但具有不同的參數和不同的定義。調用方法時通過傳遞給它們的不同參數個數和參數類型給它們的不同參數個數和參數類型給它們的不同參數個數和參數類型來決定具體使用哪個方法, 這就是多態性。
3) 重載的時候,方法名要一樣,但是參數類型和個數不一樣,返回值類型可以相同也可以不相同。無法以返回型別作為重載函數的區分標準。
示例代碼:
public class Dog {
Dog()
{
this.bark();
}
void bark()//bark()方法是重載方法
{
System.out.println(“no barking!”);
this.bark(“female”, 3.4);
}
void bark(String m,double l)//注意:重載的方法的返回值都是一樣的,
{
System.out.println(“a barking dog!”);
this.bark(5, “China”);
}
void bark(int a,String n)//不能以返回值區分重載方法,而只能以「參數類型」和「類名」來區分
{
System.out.println(“a howling dog”);
}
public static void main(String[] args)
{
Dog dog = new Dog();
//dog.bark();
//dog.bark(“male”, “yellow”);
//dog.bark(5, “China”);
}
}
2、重寫overriding
1) 父類與子類之間的多態性,對父類的函數進行重新定義。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。在Java中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要採用方法的重寫。方法重寫又稱方法覆蓋。
2) 若子類中的方法與父類中的某一方法具有相同的方法名、返回類型和參數表,則新方法將覆蓋原有的方法。如需父類中原有的方法,可使用super關鍵字,該關鍵字引用了當前類的父類。
3) 子類函數的訪問修飾許可權不能少於父類的;
示例代碼:
public class Base
{
void test(int i)
{
System.out.print(i);
}
void test(byte b)
{
System.out.print(b);
}
}
public class TestOverriding extends Base
{
void test(int i)
{
i++;
System.out.println(i);
}
public static void main(String[]agrs)
{
Base b=new TestOverriding();
b.test(0)
b.test((byte)0)
}
}
這時的輸出結果是1 0,這是運行時動態綁定的結果。
Java代碼重構的幾種模式
Java代碼的重構模式主要有三種:重命名方法重構模式、引入解釋性變數重構模式、以查詢取代臨時變數重構模式重命名方法重構模式建議執行如下的步驟來完成:1.建立一個具有新名稱的方法2.將舊方法的方法體複製進新方法3.講舊方法的方法體修改為調用新方法4.將所有引用舊方法的地方修改為引用新方法5.刪除舊方法引入解釋性變數重構模式步驟相對簡單,如下:1.聲明一個局部變數,並將其初始化為需要替換的表達式部分2.對於複雜的表達式,用新的局部變數代替其中需要替換的部分3.對於該表達式的其他部分,重複這個過程以查詢取代臨時變數重構模式的步驟如下:1.找出只賦值了一次的局部變數2.將該局部變數聲明為final並重新編譯(以確保該變數的確只賦值了一次)3.複製賦值語句的等號右側的表達式,並將其修改為一個新方法的方法體4.將賦值語句的等號右側更改為對新方法的調用5.將所有對該局部變數的使用替換為對新方法的調用6.
java 把兩個方法重構成一個方法
這個要看你的邏輯了,看起來Comment和Agreement可以抽像出一個父類,可以的話就簡單了,用父類定義方法,子類實現。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/250779.html