一丶單利模式
1丶單利類只能有乙個例項
2丶單利類必須建立自己的唯一例項
3丶單利類必須給所有其它物件
4丶單利模式必須提供乙個全域性的訪問點
(1)惡漢式單利模式
class
mysingleton
public
static mysingleton getinstance()
}
(2)懶漢式單利模式`
class
singleton
private
static singleton getinstance()
return singleton;
}
這種設計在多執行緒時不能保證執行緒安全,因為當乙個執行緒還沒有建立完成時又進入乙個執行緒,等於new了兩次物件,所以我們對它作出如下改進:
class
singleton
//可重入函式,即執行緒安全的函式
private
static singleton getinstance()
}}return singleton;
}
二丶繼承與多型(1)繼承:繼承是重用現有類(基類base class、父類parent class、超類super class)建立新類(子類sub class、派生類derived class)的過程,派生類繼承了基類除建構函式外的所有屬性。
class
person
public
void
fun1()
}class
student
extends
person
public
void
fun1()
}
super();—>呼叫基類的建構函式
super.data—>訪問基類的資料成員
super.func();—>呼叫基類的成員方法
(3)基類的資料成員在派生類當中的訪問許可權(1表示可以,0表示不可以)
多型
(1)動多型(執行時多型)
輸出結果:
(2)靜多型(編譯時多型),方法覆蓋表現出兩種多型性,當物件引用本類例項時,為編譯時多型,否則為執行時多型。
student student =
newstudent
(" "
," ");
system.out.
println
(person.
tostring()
);//編譯時多型,執行person類的tostring()方法
system.out.
println
(student.
tostring()
);person.
fun1()
;
java基礎 單利模式 繼承 多型
餓漢式單利模式 class mysingleton public static mysingleton getinstance 懶漢式單利模式 class mysingleton1 可重入函式也叫執行緒安全函式 public static mysingleton1 getinstance retur...
Lua 繼承 多型 單利模式 物件導向
lua模擬物件導向程式設計中得繼承 多型,這裡也同時演示設計模式中得單利模式,類的實現都是通過lua中table,這個table太強大了,又可以當集合 陣列 宣告,這裡宣告了類名還有屬性,並且給出了屬性的初始值。class2 class2.a class2 aaa class2.b class2 b...
Spring bean的單利模式和非單利模式
spring bean預設情況下所有bean是單一的,即單利模式。中表示 scope singleton singleton表示spring容器中只會建立乙個叫做mybean的bean物件。所有的對該bean的請求都由該物件來處理,這個bean物件就是共享的,就是說這個bean是非執行緒安全的。既然...