卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

java帶參數的構造方法有幾種 java中構造器和構造方法的區(qū)別?

構造函數是一種構造函數,它在創(chuàng)建對象時初始化成員變量。默認情況下,它是一個無參數構造函數。構造函數是一種特殊的方法。主要用于對象創(chuàng)建時的初始化,也就是給對象成員變量賦一個初始值。在創(chuàng)建對象的語句中,它

構造函數是一種構造函數,它在創(chuàng)建對象時初始化成員變量。默認情況下,它是一個無參數構造函數。

構造函數是一種特殊的方法。主要用于對象創(chuàng)建時的初始化,也就是給對象成員變量賦一個初始值。在創(chuàng)建對象的語句中,它總是與

事件

例如,DateFormat的formatCurrentTime()方法如下,代碼如下:

公共類日期格式{

public static final SIMPLE DATE FORMAT SIMPLE _ DATE _ FORMAT new SIMPLE DATE FORMAT(# 34 yymmdd hhmmssz # 34)

公共靜態(tài)字符串formatCurrentTime() {

return SIMPLE_DATE_(新日期())

}

}

我現(xiàn)在期望判斷formatCurrentTime方法返回的值是否是SIMPLE_DATE_FORMAT對象格式化的值(當然這段代碼一定是第一眼看到的,所以不要 我不認為它 沒什么意義,實際工作中確實有對無聊的東西的需求)。

為了滿足這個要求,我只需要判斷SIMPLE_DATE_(new Date())是否等于()方法調用的返回值。但是很明顯,formatCurrnetTime方法內部調用SIMPLE_Date_ method時傳入的參數直接增加了一個DATE對象,而我在外部顯式調用SIMPLE_DATE_ method時再次創(chuàng)建的DATE對象肯定不是這個,所以我需要mock類的無參數構造函數來保證每次新建時返回的都是同一個對象。

測試代碼如下:

實現(xiàn)

@RunWith()

@PrepareForTest()

公共類DateFormatTest {

@以前

公共void設置(){

()

}

@測試

public void testFormatCurrentTime()引發(fā)異常{

日期日期新日期()

PowerMockito.whenNew()。不帶參數()。然后返回(日期)

(_DATE_(日期),())

}

}

與上面的代碼一樣,只需要模擬日期類的無參數構造函數:

解釋一下像JDK這樣的類的模擬操作過程,這里用到powermock。關于Powermock的配置,請參見文章mockito與Powermock工具的mock構造器合作。

步驟如下:

1.在測試類上使用注釋@RunWith()。

2.注意@ prepareforest聲明要處理的類:

3.調用mockStatic方法的Mockdate類(調用PowerMockito的mock Date類也可以。畢竟這里需要的只是mockStatic構造方法。我用了Mockstatic,因為我在wiki上看過它的介紹,地址在這里:)。

最后,根據這里的需要,設置Date 的無參數構造函數,模擬構造函數的api用法可以在文章Mockito與powermock工具模擬構造函數合作中找到。