1. 程式人生 > >java程式設計中減少一個類中重複程式碼的竅門

java程式設計中減少一個類中重複程式碼的竅門

java程式設計中減少一個類中重複程式碼的竅門

2013年12月08日 17:57:59 bestcxx 閱讀數:2427 標籤: java程式設計呼叫類減少程式碼宣告建立物件 更多

個人分類: java基礎

版權宣告:本文為博主原創文章,如有錯誤勞煩指正。轉載請宣告出處,便於讀取最新內容。——Bestcxx https://blog.csdn.net/bestcxx/article/details/17202429

         有時候我們會遇到這樣的情況,一個類中的許多方法要呼叫其他類的方法。

        比如類1中有方法1和方法2要呼叫類2中的方法3,這個時候如果在方法1和方法2中都寫的話會有幾句重複的程式碼,就是宣告部分,這裡只有一個方法,重複的部分還比較少,如果引用的方法非常多的話,這個重複的程式碼量也是很多的。

       那麼怎麼寫程式碼即能較少程式碼的量也不會影響方法之間的呼叫呢?

在類的開始宣告一個類(=null或者直接”;”結束),但是不例項化,即

private User user;或者private User user=null;

如果在這個類的下面的兩個方法中分別例項化一個物件,這兩個物件是互不干擾的,也就是建立了兩個物件。

public class UserService{

private User user;//這個是比較關鍵的,之後的方法一和二都要呼叫,但是這裡只是宣告,不建立物件,即不再這裡例項化,這個User是一個實體類,有UserId屬性和set和get方法

public void me1(){

if(user==null){

user=new User();

user.setId(1);

System.out.println("xin1"+user.getId());

}else{

System.out.println("yicun1"+user.getId());

}

}

public void me2(){

if(user==null){

user=new User();

user.setId(2);

System.out.println("xin2"+user.getId());

}else{

System.out.println("yicun2"+user.getId());

}

}

public static void main(String []args){

UserService us=new UserService();

us.me1();

us.me2();

us.me1();

}

}

執行結果:

xin11

yicun21

yicun11

(就是方法一中的user和方法二中的user互不干擾)

但是,如果是在類的開始就建立了物件,private User user=new User();並且在之後的不同方法中都呼叫這個物件user,那麼方法之間是要產生相互的影響的,即最後一個呼叫這個物件的方法決定這個物件的值是多少,當然,如果這個物件的狀態是無法改變的,或者每次呼叫完後都要銷燬,那麼這個建立物件也沒有呢影響,在這裡特別注意一些傳參的類,比如實體類,List類等,就不能在類的開始例項化,只能宣告一下,總而言之,我們提倡的是這個類的所有方法中要用到的所有的其他類的方法,不論是一次,還是兩次及以上,我們都要遵循下面的準則:1,之在類的開始宣告需要類2,所有建立物件的過程都之在相應的方法中進行。