java靜態(tài)方法和非靜態(tài)方法的介紹
概念
1、static修飾的方法是靜態(tài)方法,靜態(tài)方法不需要實(shí)例對(duì)象調(diào)用,可以直接用Class.method調(diào)用。例如,JDK8提供的LocalDate.now()是典型的靜態(tài)方法,該方法回到現(xiàn)在的時(shí)間。
2、非靜態(tài)方法是沒(méi)有static的通常方法,這通常要求對(duì)象初始化后再調(diào)用。上述validate、getValue是實(shí)例化User對(duì)象后再調(diào)用的非靜態(tài)方法。
實(shí)例
public static LocalDate now() {
return now(Clock.systemDefaultZone());
}
java單例中餓漢模式的使用
使用說(shuō)明
1、類加載時(shí)初始化單例,以后訪問(wèn)時(shí)直接返回即可。
優(yōu)缺點(diǎn)
2、好處是天生的線程安全(得益于類加載機(jī)制),使用時(shí)沒(méi)有延遲。壞處是有可能造成資源浪費(fèi)(如果類加載后就一直不使用單例的話)。
實(shí)例
public class HelloWorld {
//創(chuàng)建私有靜態(tài)的本類對(duì)象
private static HelloWorld hello = new HelloWorld();
//私有化構(gòu)造函數(shù)
private HelloWorld(){};
//定義公有并靜態(tài)的方法,返回該對(duì)象。
public static HelloWorld hello() {
return hello;
}
}
以上就是java靜態(tài)方法和非靜態(tài)方法以及java單例中餓漢模式的使用,希望對(duì)大家有所幫助。
更多關(guān)于“Java培訓(xùn)”的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的好程序員班,高品質(zhì)課程助力你實(shí)現(xiàn)java程序員夢(mèng)想。