|
ÝßË Ĺ - ÁÍ ˙ ŢÎ ÜßÁ Ë ß Ë ŕ ˙Í Ë ß ŘÍ Jeff Friesen ŕ ß JavaWorld ÍÎßÍ Î :ÝÍ ŕ ˙ééé ˙éÍé ß Í ÁÍ Ë ÉÍ ŕ ŢÎÍ Ř ŕ ŢÁ ÍË .Ëé˙ ÍË ÁÍ Ë ß Ë ŕ ˙ Ë ß ŘÍ ŕß ß ËÎÁËÍ˙ ß éÍé éÁÍé Ë :Ëß Ý ŕ Ë ŕ ŕ ŢÁß ˙ ÁÍ Áß ˙Í .˙ ˙Í Ë ŘÍ Ĺééß ÎÁ ˙ Đ ŕË .Ëß ˙ ŘÍ Đ ŕË ÍË ŕ ĹÁ áÍ Ë Ź˙Á Ë ÍË Ë ŘÍ ˙ÁÍ .ËÍÁË˙ ŕ ÁÍ Đ Ĺß ÎÁ ˙ ĹŔ .Ëß˙ ŕË Á ÍÎ Íß Ë ÎÁ
˙ÁÍ ÁÍ ˙ŕ .Ë˙ Ň ÁÍ modifer ß ˙ Ë ˙ ŕ .(Ë˙ .Ë Ă Á ˙ÁŕËÁË Öß :Ü
ĹŔ .ËÍÁË˙ ŕ ÁÍ String ĹŔ ŕ ÖßÍ Ý ŹËÎ˙ ÁÍ Employee ˙ ˙é ËË JobID ß ËÍ Ůß Salary Ë .ĹÁ ËÍ Ý ˙ß String .Ë˙ ˙ ŕ Í ŕÔ Í ŕ ĹÁ ŕ ŕ ˙ Ë .Ëéé ˙Í protected public Źprivate ĹÍß ŕ ÁÍ áË ËÁß ˙ .Ëééé˙ Ţ Đ Í ÍË ÁÍ Ë ŕ ˙ Ë ŕß ˙ Ë ŕ .Ë˙ ˙ Ë Ü Í Ü ˙ Ë ÎÁ ˙ Ë ŕËßË ŕé ÓÍ Ń ˙ Ë ÉÔ Ú Áß Ë ŘÍ ÁÍ Ë ŕ ˙ Ë Öß ÍÁ Üéé ŕé éé Ţé ˙ ŕ ß Ëß Đ ÍË Ë ˙ ËË˙ Ň Á ŢŔ ÍéÎ Üéé ŕ .(Ë ÎÁ ˙ŕ ŕ ) Ëß ËÁß ˙ Ë :Ë ŕß
private ĹÍßé ŕé ÁÍ áË ŕ .Ë ŕ ÁË ˙Í Ë fred ŕ ËÁß ˙ ŢéÁ .Ëé ŕ ÁË ˙Í Ë Ë ŕ ËÁß ˙ Đ Ţ Ë Ô Ë ŘÍ ÁÍ ÍéÎ Üéé .ĹéÁ ˙ Ë Ü Í ÍË ˙ŕ ˙ Í ÍË Ë :Ý˙ ˙ÍÍ
Íéé ˙éé ß ŢŔ Đ ÍË Ëßß Ë ŹË ˙Í public ÁÍ áË ÍÁ :ĹÁË ËÁß ˙Í Ë Ë ŢŔ ŕ ŕ
.(Ëß ˙Í public Ë Employee ÓÍé .ËÎ˙ ŕÔ ĹÔÁ áÎ Ţ Ýß ŕ public ĹÍß Ë Í ŘÍ ÁÍ Eye ŹHeart ŹLung ˙éĐ ß ŢÁ ŢË áÎ ÜË ˙ÁÍ ÁÍ Body Đ Ë ŹHeart ŕÍéÁ ˙Ë Body Đ .Ë ŕÍ ß Ă Ţ áÎ ÜË ˙ÁÍ :Ë˙ ŘÍ ÁÍ Lung ŹEye
Ëé private ˙ß Heart leftlungß Ź rightlung .Ë ĹßÍ Ü áÍŐ ß leftlung Źrightlung Ëéé ÓÍ .ËÍÁË ÍÁÍ ŢË ŢßÍË ÁËÁ ŢÁ ÁÍÎ Ăé ŕ Ĺ Ýß ŢË Í ŢÁ Ŕ .ËË˙ ˙Í private ŢÁß heart .ËË ĹßÍ Ü ŕÍ ß ß private Ţéé Ĺßéé .ĹÁ protected ÓÍ Ń ÍßÔ Ë ˙ Ë ÉÔ protected Ëééé ŕé ËÁß ˙ ŕ Í ˙ ÍÎ ŕ ĹÁ ŢÁ protected .Ë ŕ ÁË ˙Í Ë
name ŕé ËééÁß ˙ Employee ˙ ÍÎ ŕ ß ËÍÁË ÍÁÍ ŢŔ ÍË Employee .Ë ŕ ÁË ˙Í Ë Í ÉÁ ß volatile é final ĹÍßé áË Ĺ ÎÁ ˙ ÁÍ áË Í ËÁß ˙ ŹËé ˙Í final ÁÍ áË ÍÁ .Ë ŘÍ transient ß static Ôé Í ˙ Ĺ ÁÍ ŢŔ ß ŕË ˙Ë ÍÁË Ë ŕ ĹÁ ŢěÔ Í Ëé ˙ßÍ Íé ÁÍ ˙ééÁË ˙éáÎé ŕ ËÁß ˙ ß ËÍ˙ ÍŐ ÍË ˙ËÁß .Ë˙ Í Ĺ ŹÍ ËÁË˙ ÁÍÎ ËË ÝÁ ŕÍ ˙Ĺ
.MANAGER ß PAYROLLCLERK ŕËéé éÁ ŕÍéé Ôé ß ŰÍÎé ŘßÍ ÎÁ Ĺ ˙Í ŘÍ Ý :ŕ ŢŔ Ţ ß/ŢËÁß ˙Í ÎÁ Ĺ ˙Í Ň Ă Í ŢË .Ý˙ .Ëß˙ ËÁß ˙Í Ë Ë ŕ thread ŢË ŹË ˙Í volatile ÁÍ áË ÍÁ .ĹéÁ áÍéÁ Ë ŕ ˙ Ë ÁĚ ŹËÍÁË Ëßß áÎ ŕ ŢÁ ß ĹÁË ŹË ˙Í static ÁÍ áË ÍÁ .(ÝË˙ Éß ÁÍ thread áË ĹÍË) Ë ŕ ÁÍ áËË ÍÁË ˙ ß .ĹÁË ËÁß ÁÍ Ë ÎÁ ˙ Ú ĹŔ ŕ Ëßé Ň static ÍÁ ß Ë˙ ÁÍ ËË ÍÁË ĹŔ ŕ ŹË Ă Á .ËÍÁË˙ ĹÍË ÁÍ Ëß ŕ ÔßÍ ˙ ĹŔ Í ß ŕË ŕË instance Ë ŕÍééĚ ĹééŔ áÎ ÜÍ Ý ÍË transient Ë ÍÁË ŕÁ ÝÁÍ .(ÝÎÁËÍ˙ áÎ ÜÍ Ýß ˙ÍÍ ŕ áË Ĺ ÍË .Ëß˙ instance ˙Ë é éË ŢÁ .Ëß ŘÍ static ŕ ŢßË ŕ ĹÁ áË instance Ë Íéééé ˙é ééŔ Ë ŕ ˙ ß ŕ Ë Ô ÍÁ ÍË ĹŔ ŘĚé ß ŕ ˙ ËÁ Ë ŢÁ .Ë˙ ÁÍ Í ˙ ŹË˙ .Ëß˙ ŘĚ ˙
:ËÍÁË Ëßß Ë ŢÁ ŕ instance Ë ŮÍÔ ÎÁ -ą Class Ë ŮÍÔ ÎÁ -˛ .ËÍÁË ÍÁÍ instance Ë ŕ Ë ˙ Ţ ÍË Ë ßË Í Ëéé ŹÍééË Đé instance Ë ŮÍÔ ÎÁ instance Ë ŕ ˙ Ë ˙ÁÍ ŕË ŕ ĹŔ ĐÍËŔ ˙ß Í ŢÁ .Ë ŕ ÁË ĹŔ ŕ ÖßÍ Í ˙ÁÍé .Ëéé ˙é ŘéÍéé ÁÍ ÍŐ ËÍß instance Ë ŕ ĹÁ ˙ ÎÁ Đé ÎÁ ÁÍ ˙é éééŔ ŹĐ Ţ ÍË Đ Ë ÎÁ instance Ë ŕ ˙ Ë ŕé ÁÍ Íé ŕ áËß ß ĹŔ ŕ ÖßÍ Í ÁÍ ŢŔ ŕ ÖßÍ .ËÎ .Ë Ă Á ŹË ÔßÍ instance Ë Ý ÍË ÍßéĚé ÜÁÍ ŹÍË Đ Ú Đ Ë ÎÁ instance Ë ŕ ˙ Ë ˙ÁÍ .Ë ÜË ÁÍ (Đ Ţ ÍË Đ Ë ÎÁ Ë ŕ ˙ Ë) ÁÍ Ůß Ň Á instance Ë Í ˙ÁÍ ÁÍ ˙ÁŕŐ ŹËÎ˙ ÁÍ ˙ Ŕ JVM ŕ Ëééé ÓÍé Ńé ˙Ë ÍÁË) Ë˙ Í ÁÍ Ë ŕŐ ŢŔ Ă ß ËË˙ .ËÍÁË ˙éé é Ë ˙ÁŕËÁË Öß ŕ ÓÍ Ń ÍÁË Í ŕÍÔ .(instance ŕ Boolean Ë Ź0.0 0 ŕ áËË Ë null ŕ ÖßÍ Ë ÓÍ Ń ÍÁË .Ëß˙ Í \u0000 ŕ áÍ ÁÍ Ë ß false Đ ˙Ë Ë ŢÁ .Ëß˙ ŘÍ static áË ŕ ŕ ĹÁ áË ŹĐ Ë Đ .Ë˙ Í Đ Ú Ë ˙ ß .ĹŔ ŕ Ë Ô ÍÁ ÍË Đé load é Đé Ëé .Ë˙ ŕË ÁÍ Í (ŕË ŕ ĹŔ Í ß) .ËËÍ˙ ŘĚ Đ unload ß ŕ :ËË˙ Ţ ÁÍ Đ Ë Ú ÍÎ Ü
Ţéé ÁÍ i ŕé ˙éé Ë ˙ÁÍ ŃßÍ ßË ß ŘÍ ÁÍ i Đ Ë SomeClass2 ÍË Ëé é ßË Íé) Đ Ë ŮÍÔ ÎÁ áÍË ß instance ŮÍÔ ÎÁ ˙ .ËË˙ .(ËÍÁË ÍÁÍ ÚÍ Đ Ëéé Ý Ĺ ŹÚÍ Đ instance ŮÍÔ ÎÁ Đ Ë ŕ ˙ Ë ˙ÁÍ ŹÍééË Đé instance Ëé ÎÁ Đ Ë ŕ ˙ Ë ˙ÁÍ .Ë Ň ÁÍ Ëé é ÎÁ ÁÍ SomeClass2.i Üéé ˙ÁÍ .Ë ÍĚ ÁÍ Đ Ý ß Đ Ë ŕé é ÍË ßË Í ŕ ŹË Ň i ŕ ˙ Ë ˙ÁÍ ÍË Đ ÍË instance .ĹÁ ŕË ŘÍ public ĹÍß ŕ SomeClass2 ÁÍÎ ŹË ˙Í ÁÍ Ëééé Ý Ĺ ŹĐ Ţ ÍË Đ Ë ÎÁ Đ Ë ŕ ˙ Ë ˙ÁÍ Ůß ŕßÍ ŹÍË Đ Ú Đ Ë ÎÁ Đ Ë ŕ ˙ Ë ˙ÁÍ .Ë Ň ÜééË ÁÍ ÍééË Đ ÍË instance Ë ŮÍÔ ÎÁ Đ Ë ŕ ˙ Ë ˙ÁÍ .Ë ß ËéË˙é Ň Á Đ Ë Í ˙ÁÍ ÁÍ ˙ÁŕŐ JVM ŹĐ áÍÁĚ Í Ó ŕ .Ë˙ ˙Ë ÍÁË ÁÍ ŢŔ
ÁÍ UseGlobalÁËé éÁ JVM ŹËé ÁÍÁ ß Ü ÁÍ ŕÍ ÍÁ .Global ŕËééé ÎÁ Đé .Ëéé˙é ÁÍÁ ÁÍ main() Ë Ë Đ ß ŕËß áÍÁĚ Í ˙éééé Đ ß áÍÁĚ Í Źß ÁÍ Global Đ JVM ÁË Á Global.Name Ňéé Á Ý ˙ÁÍ ÁÍ ˙ÁŕŐ JVM Ë ˙ Global ŕÁ Ó ŕ .Ë˙ String ĹŔ JVM ÍË ˙ß ÎÁ .Ë˙ ˙Ë ÍÁË null ÁÍ ŕŐ ß ËË˙ ˙Ë ÍÁË ŹË Í ÍÁÍ ŕß ßË Ţ ŕ ˙Í ÁÍ ÁÍ ŢŔ ß ŕ ÁÍ Global.name ŕé ŕééÍé Đ .(Ëß˙ Ă Á Ý ŕ ÖßÍ :ŕÍÁ) Ë˙ ŕé ß Ëéé˙é ˙ééÎé ÁÍ String ĹééŔ ŕ ÖßÍ ß ŕËÍ ÁË ˙Í Ë ˙éßÍé ÍË String ĹŔ Ĺß Ţ ÍË .Ë Í˙ system.out.println() .Ëß˙ ÍŐ ˙éé Í ËÁß ˙ ŹË public Ú Global ß UseGlobal ŕěŔ ÎÁ Üéé Đé ßË ÍË Üéé ŢéÁ Üéé .Ë Ă Á ˙Á Ü ˙ÁÍ ÁÍ ˙ß UseGlobal ŕÁ ÜË .ËË˙ ŕ Global.class ß UseGlobal.class ˙ÁÍéÁ ˙ÁÍé .Ëééé ŕËé Á ŕÍ ˙ÁÍÁ ˙ÁÍ ŢŔ ÎÁ ŹĹÁ main() Ë .Ë Ä ÁÍ java_UseGlobal ŢÍ Ô ÍË ŕÍ .Ëß˙ ÍŐ ÍÎ ˙Ô Ý Ë Ä ÁÍ java_Global ÍÁ
main() Ëé ËÁß ˙ Áß ŕ ĹÁ Í Ůß ĹÍ Ţ ÍË main ŕ .Ë ÁË Global Đ ÍË ÁÍ ŹËéé ˙éË ÍÁËé ÁÍ ŢŔ JVM ŕÁ Ó ŕ .ĹÁ ˙ËÁß Ô Í Ĺ ĹÍßé final ˙Ëéé ŕ Ĺ ŘÍ .Ĺ Í Ü Í ÍÁË class ß instance ŕßÍ ßË ÍË instance ß class Ë Î Ĺ .ËÍ˙ :Ü .ËŔ˙
contants ĹéŔ Í ˙ÁÍ ŢŔ ÎÁ ˙ÁŕÁË ˙ JVM ÁÍÎ ĹÁ instance Ĺ Ĺéé SECOND ŹËÎ˙ SECOND ÎÁ ˙ Ú Ô JVM ŕěŔ ÎÁ Á .ËÎ˙ ˙éÍé éË FIRST ŕ main() ŮÍÔ ÎÁ ËÁß ÍÁ :ÍĚ .ĹÁ class ĹéŔ ŕ ËÍÁË Ëßß ˙ ß FIRST Ĺ .ËË˙ ˙ßÍ Í ˙Ô Ë ÁË .Đ ŕ ĹÁ ˙Í Ë Ü ĹŔ Ţ ˙ÁÍ Ô Á Ëß˙ ŕ Ĺ ÎÁ ŕË Á ÜË .ËÍ˙ ĹÍß Í Ŕ ˙Á Ë ÍË Ĺ ŕßÁ ÍÁË ŢËÁË Í Ĺéé ŕéßéé ˙ÁÍé .Ëééé˙é Üé ÁÍ ˙Á Ë ÚÍË ŢËÁß .Ë˙ ą˛ ËË ÎÁ Í NUM_ARRAY_ELEMENTS áÍÁĚ ŕÍ ÖÁßÁ ŹË˙ áÎ ÜË ÁÍ ÚÍ ĹÁß ÎÁ ˙ß × ŕ ÁÍ Zoo1 ŕÍ Ë ÓÍ .Ëß˙
Ë ĹÁß ÖÁßÁ Í ŕ ËÍÁË É ËË Ĺ áÍ Ú CircusAnimal ÁÍéÁ ÁÍ Zooą ŕééÍé ŢŔ ()niam Ëé é ß ĹÁ áÎŔ Đ Zoo1 ŕ ÍË .Ë˙ Ëééé ß ËéË˙é ÍÁÍ Z1 ÁÍ ŢŔ ÖßÍ ß ËÎ˙ ÁÍ Zoo1 ĹŔ main() Ë ÎÁ .Ëéé˙é ˙Ë ÍÁË CirsusAnimal.TIGER ŕ ÁÍ animal Ý instance ŕé ÖßéÍ Í ŮÍÔ ÎÁ main() Ë ŹĹÁ private ĹÍß animal ŕěÁ ŕ ĹÁ ˙ Ţ ÎÁ ˙ main() ÁÍÎ ËÍÁË ˙Í Ë Í ŢŔ ŕ Z1 ĹŔ ß ÜÍé éé ÁÍ animal ˙ ÍÁË main() Đ .ĹÁ ŕË ŘÍ ŢŔ ÍË animal .Ë˙ ÍË Ëß ˙ŕ Í ˙ ÁÍ Ă Ý ŕé Ëééé ÓÍé .animal ÍË int ˙ÁŕËÁË Ößé áË ŕ :ËÍÁË Ü Zoo1 ß animal ÁÍéÎ ĹéÁ Î Í ŢÁ .Ý Ă Á 987324 ŕ ÁÍ Z1.animal .Ĺéééé˙ Ă Á ĹÁ ÍË .Ë integer ˙ÁŕËÁË Öß ßË Í 987324 Ű ĂÁ ŕ Ë˙ Ëß áË animal ˙ÁŕËÁË Öß ĹÍß integer ÎÁ ŕË Á Ňéé Á animal ŕ ˙ ˙ÁŕËÁË Öß ŕ ĹÁ ÍßĚ Ü Í ŕÁÍ .ËÍÁË Ößé ÎÁ ÍßéŐéé ŢË .Ý ËßË ËÍ ËÁß ˙ ŕ ÁÍ áÍË ß ÝË ŹŕËé áÍÁĚé ŕÍéé ˙ÁŕËÁË Ößé .Ëß˙ ŕË Á ŕË áÍÁĚ ŕÍ ˙ÁŕËÁË Ößé ÎÁ ÍÎ ĹÍß ŕ ĹÁ ˙ Ŕ ŹÍÁË Í ŕ ËÍÁË áËßË ÍË ŕß .Ëß˙ ŕ áÍÁĚ ŕÍ ˙ÁŕËÁË
ß ËÍÁË ÁÍ CircusAnimal ˙ÁŕËÁË Ößé int ˙é ŕé animal ŹÚÁ .ĹÁ ŕËÍ ŕé ËééÁßé ˙ ŹËß˙ ŕ CircusAnimal ÎÁ ŕ ˙ĹŔ ŕ ÖßÍ Ô .Ëß Ă Á animal ŹTIGER ŹLION :Ëéé˙ ŘÍ ÁÍ CircusAnimal Ĺ Í CircusAnimal Đ .Ëß˙ ˙Ë ÍÁË CircusAnimal ĹŔ ŕ Ĺ Í .ELEPHANT ß MONKEY ŹËÍéé˙é String ŢßÍŔ Ú ŕ CircusAnimal ŕĎß (ŕËÎ) Constructor animalName Ë ĹÍß Constructor ŕ ŕË ŕËÁË Íß String .Ëß˙ ŘÍ .Ëß˙ ŕÍĚ private ß CircusAnimal ˙ĹŔ Ĺ ÎÁ Ëß˙ ŘÍ private ĹÍß Constructor ŕé Ĺéééé (ËéË ŘÍ Ĺ ĹÍß ŕ ˙ Ŕ Í ÎÁ Í ) ˙Á 987324 é ÜËéé CircusAnimal ĹééŔ áËÍ ËÁß˙ .ËÍßŔÜ ÁÍé .Ëéé Î Zoo2 ŕÍ ˙ÁÍ CircusAnimal Ĺ Í Ô .ËÎ ÁÍ String ĹŔ ÍÁË Ë ŢÁ żË ŘÍ CircusAnimal ÍË toString() Ë ÓÍ .ËÁËÍ˙ Î ŹĹÁ ŕË Ă Á animalName ŕ ŢŔ (Í) reference ŕ ŕé Z2.animal ˙Ë ÍÁË ÎÁ Đ ÁÍ system.out.println(Z2.animal) ŕ Ë ÍÁËéé ŢÁ ß Ë ËÁß Ä Tiger ŕ .ËÁß ÁÍ CircusAnimal.TIGER ŕËÁË Íß CircusAnimal ŕËÎ ŕ Ëß ŕË ŕ Tiger Ĺ ŕ ˙ ÍË toString() Ëé é ˙éÁßéÁÍ ÁÍ Tiger Źsystem.out.println() .ĹÁ ŕË .ËÍßŔ˙ ĹË Ëé ÁË ˙ Ë Ŕ ŕ ß ŘÍ ÁÍ Ë ŕß ŕ ËÁË˙ ÚÁ .ËÍ ÁÍ ÁÍ Ë ŕ ˙ Ë ß ŘÍ ŕß Ë ß Ë ŘÍ ĹéÁ ééé Ô Í ŕ áË ˙ŕË ŕ ÖßÍ ˙ÁÍ method ŕ ÎÁ Áß é ËéÍÁË˙é ŕ ÁÍ ĹŔ Ĺß Ë ŕŔ ÎÁ .Ë˙ ŕË Á ŕßé ŕ .Ë˙ ÉÍ ÁÍ Đ ĹŔ ˙Í Í Ë ŹÁÍ Đ ÍË Ëé ÍË Ë ŘÍ ˙ÁÍ .Ëß˙ ŘÍ ŢßÍË Ü ÍßÔ ŕ Áß ˙Ë .Ë ŕË Á ÍÎ Íß Ë ÎÁ ˙Á
˙éŕéé ŹÍ ÁÍ Ĺ Ź˙ Î ˙ÁŕËÁË Öß ŹË Ý ŕË Ň ŹË ÎÁ ˙éßéé compound ĹÍé .ĹÁ Ĺě Á ÖÁßÁ ß modifier Ź˙ Ë ÁÍé ÁÍ Ëé é ŕé áËé .Ëß˙ ÁÍÁ Ë ˙ÁßÁÍ Ý ÍË ŕ ĹÁ ĹÁÍ .ËÍÁË Ý Ë ŢÁß ÁÍ ËÁß˙ ŕËéé éÁ ßÍÎÍ Ĺééé ÎÁ Ë áÍÁĚ Ý ˙ÁÍ .ĹÁ Ë Í Ë Ý .Ë ËéÁËÍ˙ Î Ë ŕ ĹÁ ˙ŕËÁË ÍË Öß Í returnŹ ˙ÁŕËÁË Öß .ËÁËÍ˙ Î ÁÍ áÎ Ë ŕ Ë˙ Ň Boolean Źbyte Źchar Źdoulde Źfloat Źint Źlong ËÁß ˙ ˙ÁŕËÁË ÖÁßÁ .Ë short Í ˙ÁŕËÁË Öß ŕ ÎÁ ŕËé ŕé é ĹŔ ŕ ÖßÍ Ë ŹËËÍ Ň Í ˙ÁŕËÁË Öß ŕ ÍÁ .ËÁËÍ˙ Î ÁÍ ˙ÁŕËÁË Öß ˙ ŕÁßË ÍßÔ ŕ ËÁß ˙ .ËÍÁË ÍÁÍ ĹÁÍ Ĺ Ú Ë Í ÜË Íéééé é Í .Ë ŘÍ ĹÁÍ Ţ ÁÍ Í ( Ú ŕ) ÎÁ ŹËßé ˙é ŕËÁß ÁÍ Ë ŕ .Ëß ˙ ŕË Í ÁÍ Ú ŹŕË ŘÍ ß éßÍŔ ËÁË .Ëß˙ ŕËÁË Íß Ë ŕ (ßÍŔ) ĹÁÍ ÎÁ ˙ ß éÍé ÁÍ ËÁË Ë (ĹÁÍ ß Ä Ă Í ŕ) ŢßÍŔ Í ˙ÁŕËÁË Öß params Íßé ÁÍéÁ ŹËé é Íé éÁÍ Ĺ .Ë ˙ Í ÁÍ Í ˙ÁŕËÁË Öß .Ëß˙ ŕË ŕé Ëé é .ËééË Íß Ë ŕ ÁÍ ŢßÍŔ Ë Č ŹË ˙ÁßÁÍ ˙ÁÍ ÁÍ ÍÁË Đ ß ŃÎÁËÍ ÁÍ Í ÁÍ ÍË .Ë˙ ÁË ˙Í Ë ßÍŔ ŕé ˙ÁÍ áË ŕ Ë ÓÍ Źŕß ˙ÁÍ .ËÁËÍ˙ Î Ë ŢÁßÁÍ ŕ Đé ß ËË˙ Íß Ë ŢÁ ŕ ÁÍ áÍÁË ŕÍ Ë ËÁŕ ËË ŕÍ Đ ß ËÍ˙ ŕÔßÍ Í ÁÍ ŮÍÔ ÎÁ ÁÍ ŢßÍŔ ŹË .ËÁß˙ ÁÍ ÁÍ Ë .ËÁËÍ˙ Î ŢÁßÁÍ ŕ ÁÍ ËË ŕÍ ŃÎÁËÍ ÎÁ
ÁÍ Öß ß ŕËß ŕ ÁÍ limit ą ÎÁ É ËÁËÁ Ë ŢÁ .Ë˙ .ËÁËÍ˙ Î ß ŕé éé ÁÍ limit Í JVM .ĹÁ Sum() Í ÁÍ Limit ŕ Ë ŕß Ëé é Ëééé ŕÁÍ ŕ Úß ŢßÍË ĹÍ .Ë˙ Ă Á ÁÍ ŢßÍŔ ÍÁË ŕé .Ëéé ÁËéé ˙Í Ë limit ÍË Ëßß ŢßÍŔ ÍÁË ŕ ËÁß ˙ Sum() Íé éÁÍé ÜéÍéé .ĹÁ ˙ Úß ÍË limit ĹßÍ Ĺ ŕÎß ˙ Í ŕËé ŘÍ ÍË Ë ˙ .ËÍ ÍÁÍ ˙ Ë ËÍß Úß ÎÁ ÇÍ ËÁß ˙ Ţ Ţ Ó ŕ .Ë ÁË ˙Í Ë limit ŕ ËÁß ˙ MathUtilities ÍË .Ë˙ ŘĚ ÁÍ Í ÁÍ JVM ŹË ˙ÁÍÁ ŕé ˙éé Í ŹÍ ŘÍ ĹÍ .Ë ŕß Total ŘÍ ŕ Ţ Ë Úß ˙ÁÍ Í ÁÍ Ë ˙ Í ŢÁ .Ë˙ ŘÍ ÁÍ Total Ý Í ÁÍ ŘÍ ß Ĺ ˙ Ë Ü Úß ÎÁ ÇÍ ÎÁ Í ŢÁ .ĹÁ ˙ ˙ Á ŕË ŘÍ ŕ ˙ ÎÁ ŢŔ ŕËßË Óß ÍË .Ĺ ˙ Úß ŢŔ ŕÎß ÁËéé ˙Í Ë ŢŔ ŘÍ ÎÁ Ü Í ŕ ËÁß˙ ŕ Ë ÓÍ .ĹÁ Úß żËË˙ ˙ßÍ ŕ Ë
ĹÍ total+=i; .Ë ß ÍË ß ËÁß ˙ Úß ŕ ËË˙ Ţ Ůß Ë ŕß ÍÁÍé Ëé Úß ŢßÍË Úß ŢÁ .ĹÁ (++I;timil=>i ;ą=i )int ˙ÁÍ ˙ÁŕË ÎÁ ËéÁß ÍÁ .ĹÁ ˙ total+=i; Úß ˙ÁÍ i ˙ Í .ĹÁ ŕ Í ŕéé .ËË˙ ˙ßÍ Í ˙Ô ŹË ÁË ˙Í Ë i ŕ Ë Úß ŮÍÔ Úßéé ÍË ŕËé ŘéÍ ˙ Í ŕ Í ˙Í Úß ŮÍÔ ÎÁ Ë ˙ .Ë ÁË ˙Í Ë Í ˙ÁË ËÍß ÎÁ Ń ÁÍ Ŕ Ë .ËÍßŔ˙ Ń Î ÁÍ áÍË Ü ˙ ˙Í ËéÁß Í ˙Ô ĹÍßÁ Í ÍË .Ëß ˙Ë ÍÁË ŢËÁË ÍÁÍ ˙ Ë ÁÍ Íééééé ˙Ô total ß total+=i ŹËß ˙Ë ÍÁË total ÍÁ .ĹÁË Íéééé int_total=0; ŕé ÁÍ total ŹÔ ŢÁ ÉÁ ˙ÁÍ .ËË˙ ŕ .Ë ˙Ë ÍÁË ÁÍ ˙ ˙Í ŕÍÁß .ËË ŕ ÁÍ áÍÁË return ŕ .ÝË˙ ÍÁÍ ˙ÍÍ ËÍß ÁÍ total return ĹÍ ÍÎ Íß Ë ˙Á Ë ÍË return ĹÍ ÉÍ ˙ÁÍ .ËÁËÍ˙ Î Ë ŢÁßÁÍ áËééé ŕééé ÎÁ return ĹÍ return [expression] .ËÍ Í ŕ ÁÍ ĹÍéé Ź˙ÁŕËÁË Ößé Ĺéé Î ŕ .ĹÁ ŕË Ü ĹÍ ŕÁÍ ŕ return Ößé ŢŔ ÍË ß ËÍéé ÍÁÍé return ÜééË ĹÍ Ë ŕÍÁß Ë return ˙ÁŕËÁË Ößé ÎÁ ÍéÁ ŕßéé .ĹéÁ ˙é Ë return ˙ÁŕËÁË Öß ˙ÁŕËÁË ß Ëé˙ ŕ return ĹÍ ŮÍÔ ÎÁ ß Ë ÎÁ ÁÍÁ ŹËß Ă Á return Ëé Í ˙Ô Í ŕ ÚÁ .ËË˙ ˙ßÍ Í ˙Ô ĹÍßÁ Í ÍË ˙éÍÍ ÁÍ ÍÎ Ë ˙ËÁÍ żËÁß˙ ÁÍ ÁÍ Sum() ŕß ŹËËÍ ÉÁ Ůß :Ë
ą ËÁËÁ Sum() .ËÁß˙ ÁÍ ą° ŢßÍŔ mu ĹŔ Í Í ŮÍÔ ˙é Ăé Á total ŕ Đ .ËÁËÍ˙ Î ÁÍ ŕ ß ŕËÍ ŕ ÁÍ ą° ÍéÁ żË˙ ŕÁËÁ ˙ ŕ ÎÁ ŕÍ ˙ÁÍÁ return ĹÍ ˙ÁÍÁ .Ëß Ëé é ˙éÁßÁÍ ÎÁ Ë ĹÍ ÎÁ ÁÍÁ ŹË ĹÍ ÎÁ ˙ Ë ˙ÁßÁÍ ˙éÍßé ÁÍÁ ÎÁ ˙ ËÍÁ Ë ˙ÁßÁÍ ÍÁ ŹŢÁ Ëßß .Ë˙ ŕÁËÁ ŕéÁËÁ ŹË ˙ ˙ÎÍÁ ÁÍ ËÍÁ Í ŕ áÍß ÁÍÁ ÁÍÁ ŹË ĹÍ .Ë˙ ŕéÁËÁ ˙é ŕ ÎÁ return ÎÁ Đ ŕÍ ˙ÁÍÁ ŕ Ëß˙ ŕß JVM ŕß Ëé é ˙ÁßÁÍ ĐÍËŔ stack Ý ŕ ˙ÁŕËÁË Í ÎÁ ŕË Á JVM żË Íßé éË ĐÍËŔ ŹËéÁßéé ÁÍ ÁÍ Ë JVM ŕÁ ÎÁ Ń .Ë ˙ áÍÁË ÁÍ Úßéé ˙ÁÍÁ ŕ ˙ .Ë ˙ push Ë ˙ÁßÁÍ ŕ ÍË ÁÍ áË ÜÁ ÁÍ ĐÍËŔ ŢéÁ JVM Ëé ˙ Á ÎÁ return ĹÍ ÎÁ Ë˙ ÚÍ ÁÍ Ë .Ë˙ POP Ë ˙ÁßÁÍ ŕ ÎÁ ˙ Ë ˙ŕ .Ëééé ŘÍ protected public Źprivate ĹÍß ÁÍ Ë Ú ËÁß ˙ .Ëéé ˙é Ţ ÁÍ Í Ë ÍË Ë ˙ Ë ŕß ˙ Ë ŕ .Ë˙ ˙ÁßÁÍ Ü Í ˙ÁßÁÍ Ü ÎÁ ˙ Ë ŕËßË ˙é Ë ÉÔ Áß ŹË ŘÍ ˙ Ë ŕ áË ŕ ÁÍ áË ÍÁ Üéé ŕé éé Ţé ŢßÍË ˙ ŕ ß Ëß Đ ÍË Ë ŢŔ ÍË ŕ ÓÍ Ń ŕé é Ţ ÍË ŹĐ Í ÍË Ëßß Ë Í .Ë˙ Ă Á ÁÍ ŹË ˙ÁßÁÍ ÁÍé ÁÍ Ëé é ŢŔ ËÁß ˙ ŕË ˙ÁßÁÍ Ë ˙ß Đ ÁÍÎ ŹËß˙ ŘÍ .ËÁß
ÁÍé ÁÍ setDegrees() ŹgetDegrees() ËéÁßé ˙é Temperature ŕé ˙Áŕéßé .ËÁß ËéÁßé ˙é ŢŔ Đ ÍË ŕË Ő Ë Ô ŹË ŘÍ private ÁÍ áË ÍÁ Üéé Íéé éŕé é Í ÍË Í ˙ÁÍ Ë ß ËÁß ÁÍ ÁÍ Ë .ĹÁ ˙ Ë
factorial() .ĹéÁ Permutation() ˙ÁÍé ˙ Ë factorial() Ë .ËÁß áË ˙ ß .ËÁß ÁÍ Đ ÎÁ ÇÍ ÁÍ ŢŔ ŢÁß ˙ ŕ ŕË ˙ÁÍÔ ˙Áŕß ŕ .Ëßé ŘéÍé private Ë ˙ Ë ŹËÍÁË Ëßß Đ Ë Í ˙ÁÍ Ô .Ë˙ Ú Đ Ă ˙ÁÍÔ ß ĹÔÁ áÎ Ţ ŕ ˙ ˙Ë ˙ééé Íé ß Đ ŢŔ ÍË ŕË Ő Ë ŹË ŘÍ public ÁÍ Ë ÍÁ :ËÁß ÁÍ ÁÍ Ë ËÁß ˙ ŕ
˙Í Ë Ü ŕ ŢŔ ÍË ˙ Íß ÍË getColor() ŢÁ Ëßß .Ë ˙ Ë ŹËéé ŘÍ protected ÁÍ áË ÍÁ ÝÁÍ .Ëß ŘÍ public ŕ ĹÁ Ĺß ŢÁ .Ë˙ áÎ ŕ ÓÍ Ń ˙ Ë ÉÔ ÁÍ áË ÍßĚ Ë .Ë ŕ ÁË ˙Í Ë protected ˙Ë ŕ ËÁß ˙ ŕ Í ˙ ÍÎ ŕ
.ËÁß ÁÍ ÁÍ computeSalary() ËÁß ˙ Employee ˙ ÍÎ Modifire static ß abstract Źfinal áË Ĺ ÎÁ ˙ ÁÍ Ë ËÁß ˙ .Ë ŘÍ synchronized ß native ß Ëßé ËÁß Ë signature Ü Ô ŹË ŘÍ abstract ÁÍ áË ÍÁ Ëéé Ëßé˙é ŘéÍéé abstract Ëé ŢŔ ÍË ŕ ˙ ŕß .ËÍÁË ˙ß Źnative Źsynchronized ŢÎ ËÁß ˙ abstract Ë .Ëß ŘÍ abstract ŹËééé ŘÍ final ÁÍ áË ÍÁ .Ëß ŘÍ private final Źstatic ËÍßé Źééé ÍéÎ Ôéß ËÁß ˙ Ë ŕ Ë˙ Ü ŢÔÁ Í .ËÍ ÍÁÍ ˙ Ë Ëßé˙é ŕé é Ë Đ ĹÍß ŕ Ë ŢŔ żË ŘÍ static ÁÍ áË ÍÁ ŕéééé ÜéÍé .Ë ŕ ÁË ˙Í Ë Đ ˙Ë ŕ ËÁß ˙ Ô ÁÍÎ ˙éËé ŕ ËÁß ˙ ÁÍÎ ŹËß˙ ŕË instance Ë ŹËß Ň static .Ë ÁË ˙Í Ë Đ ß instance ŕéËé ŹËßé˙ ŕěÁÍÁ Ë signature Ô Ë ŘÍ native ÁÍ áË ÍÁ .Ëß˙ ŕÍĚ ÝÍĹ ŕĎß ŕ ÍË ß ŕË ŕ ß C++ ŕ Ë ËéÁßé ˙ thread Ú ŕŐ Í ÍË Ô Ë ŘÍ synchronized ÁÍ áË ÍÁ .Ë ÁÍÁ ÁÍ Ë Ë Instance ˙Ë ŘÍ ˙ÁÍ .ËÍÁË ˙Í Ë Đ ˙Ë ß instance ˙Ë ŕ instance Ë Ňééé instance Ëé é signature ÍË ÁÍ statice áË ŕ instance Ë .Ë
Ëéé Ý ŕ ËÍÁË áÍ ÁÍ instance Ë Ú Ë ÓÍ .ËÍÁË ˙Í Ë ˙ÁÍé żĹéÁ Íé Ý Ë ŕ Í ÁÍ ÍÁË Ă Á Ŕ .ĹÁ instance .Ý˙ ˙ÍÍ ÁÍ ÍÎ Ü ŃÍ ŢÁ ŕ Ę
ÍßéŐéé ŢéÁ ˙ÁÍé .Ëéé˙é Ăé Á salary Ë ŕ ÁÍ salary Í ÁÍ .Ë˙ ŕË Á this áË ŕ ÎÁ setSalary() ĹŔ ß ĹÁ ÁÍ ˙ ˙Î Í ß Áß ÍË Ă áË Ĺ ÎÁ ˙ this this ÎÁ Đé ÁÍ Ëééé Ýé ˙é éß .Ëé˙ Ň ˙Á Ë ÉÔ ÍË ÁÍ ˙ .Ţ ÁË ˙Í Ë ĹŔ ŢÁ ŕ Ů Ë ŕ ŕ Ĺ ŢÁ ŕ ŹËÍß ŕ Ë ˙ÁßÁÍ ŕß .ËÁß ÁÍ ÁÍ instance Ë ËÁß˙ ŕ Ë ÓÍ Ëé é ÎÁ ŹĐé Ţ ÍË áÍË instance Ë ÎÁ Ë Ŕ ŕ ËÍÁË ˙ ŢÁ ÍË Đé Ë ÎÁ ß Đ Ţ ÍË Đ Ë ÎÁ ŹÍË Đ ÍË áÍË instance .Ëß ŕËÁß ÁÍ áÍË Đ ß Ýé ŢËßé Ň Đ Ţ ÍË ÍË instance Ë ÎÁ ÁÍ instance Ë .ËÁß ÁÍ Ë ŢßÍŔ Ĺ
éÍé Íéé ÁÍ Ë ˙Áß ÁÍ Ë Íß .ËÁß˙ ÁÍ true .Ë ŕÁÍ ĹŔ ÝééÁ ÍÎ ĹÍß ÍË Đ instance Ë ŮÍÔ ÎÁ instance Ë ˙Áß ÁÍ ŕé ÁÍ ĹéééŔ ÖßéÍ .ËÎ ˙ßÁ instance Ë Đ ÎÁ ÁÍ ˙ Ŕ Ëß˙ Ëé é Ëéß ĹŔ ŕ ÖßÍ Í ß ŕËß Ă Á ĹŔ ŕ ÖßÍ Í .ËË ÍÁÍ instance
Ëé é ˙éÁßé ÁÍ ˙ÁÍ mc Ëß ÎÁ Đ .Ë ˙ Ă Á mc.CallSecond() .Ë˙ ŕË Á false ŢßÍŔ ÍÁË seconds() ()dnoceSllaC Ë Ú ˙ÁßÁÍ ˙ÁÍ ŕ ĹÁ ŢÁ Í AnotherClass ĹÍéééééé ÓßéÍË .ËéÍÁËé Îéé ĹéééŔ ŕé ÖßéÍ Íéééé é ŕé ŕé ÖßÍ ÎÁ ß ËÎ ˙ MyClass ÎÁ ÁÍ ˙ Ŕ new MyClass().second(False) .Ë˙ ŕË Á second() ˙ÁßÁÍ ˙ÁÍ ĹŔ Instance Ë ŕ ˙ Ţ ÍË Đ Ë ÎÁ Instance Ë ˙ÁßÁÍ ŹÝÁÍ Instance Ë ŕ ĹÁ ˙ ß Ë ÍË Đ Đ Ë ÎÁ ËÍÁË ÍÁÍ ŢŔ ÍË Instance Ëé é ˙éÁßé ÁÍé .ËéÁß˙ ÁÍ ÍË Đ Instance Ë ÎÁ ÁÍ .ËÍ ÝÁ chanining Ý ŕ ˙ Ú ËÁß ˙
ÎÁ) ĹéŔ Ţ ŕ ÁÍ ˙reference Źhello() ŕÁ ÜË .ËÁß ˙ ÁÍ ÁÍ goodbye() Ë ˙Áß ÁÍ ŹËÁËÍ˙ Î this hello()'s return ĹÍ ŮÍÔ .Ëß˙ Ü hello() Ë ˙ÁßÁÍ Ţ ŕ Đ ˙Ë .ËÍÁË ˙éÍé éË Đ ŢŔ ÍË ŕË ŘÍ Đ ˙Ë ŕ ŕ ĹÁ áË Đ Ë .Ý˙ ŘÍ Đ Ë signature ÍË ÁÍ static ŕ Đ Ë ŘÍ ˙ÁÍ
áÍÁĚé numEmployee ĹÍß Í ÁÍ ÍÁ .Ë ˙ Ă Á numEmployee Đ Đ Ý Ţ Ë ŕ Í ÁÍ Ă Á ˙ÁÍ ŢŔ ÎÁ Ë Áß ˙ Ŕ ŹËß ŕË : Ý ˙ ˙ÍÍ ÁÍ ÍÎ Ü ŃÍ ŢÁ ŕ Ę ˙ÁÍ żË ŕË Á
.Ĺ Ô ÍÁ ÍË ˙ instance Í Đ Ë ß ËÍÁË ŕÍÁ ÍË áÍË Đ Ë ÎÁ Đ Ë Ŕ ŕ ËÍÁË ˙ ŢÁ ŕ Ë ˙ÁßÁÍ ŕß Ëé éÎÁ é Đé Ţéé ÍË instance Ëé éÎÁ ÍË Đ ŹĐ Ë Đ Ţ żËß˙ ŕËÁß ÁÍ ÍË Đ instance ˙ÁÍé .ËéÁß ÁÍ Đ Ţ ÍË ÍË Đ Ë ÎÁ ÁÍ Đ Ë ËÁß ˙ .Ë Ň ÍÎ Ü Ë ÁÍ ŢßÍŔ Ĺ ß Ë Ý Ë ÍßŐ ŢÁ
.ËË ÍÁÍ Đ Ý Ëß ÁÍ Ë ˙Áß ÁÍ ŕ Ë Íß Ý Ëß ÁÍ Đ Ë ˙Áß ÁÍ ÍË Đ Ë ÎÁ Đ Ë ˙Áß ÁÍ ˙ÁÍ .ËË ÍÁÍ Đ
ÍÁÍé Ëéßé ÁÍ Í ŢÁ main() Ë .ËÁß ˙ ÁÍ first_and_second Ëé é ÎÁ ÁÍ Đé Ëé é Đé Ë Í ÍË .ËË˙ ÝÁ FirstAndSecond ŢËÁË .Ëé Ň ÁÍ ŢßÍŔ Ĺ ß Ë Ý ËÁß ÁÍ Đ Ţ ÍË instance .ĹÁ Đ Ţ ÍË ÍË Đ Ë Ú ÎÁ Đ Ë ˙Áß ÁÍ Ë Í ŢÁ ÁÍ Đé Ë ŕ ˙ ß Ë ÍË Đ instance Ë ÎÁ ÁÍ Đ Ë ÝÁÍ .ËÎ ÁË ËÁß˙ ÁÍ ÍË Đ Đ Ë Ú ÎÁ instance é Đé ˙éËé é ŕ ßÍŔ Íß ŕß ŕÍÍË ˙Ô Ţß :ËÍÁË Ëßß ÍÁ ˙ÁÍ ŃßÍ ßË ÝËß ŢÁß ÍéŕÍéÁ ÎÁ ŕËéé éÁ é é ß (call-by-value) ÍÁËé ÎÁ ŕË Á .(call_by_reference) ŹË Í ˙ Ë Í ŕ ÁÍ ˙ ß ŕ Í ˙ Ë ŢßÍŔ Í ÎÁ call_by_value ŢËÁË Íßéé ˙ÁÍé call-by-value ÎÁ JVM .Ëéé˙ Í ˙Á ŢßÍŔ ß Ĺéé ÍË éÁ .Ëéé˙é ŕËéé éÁ éËé é ŕé ˙ÁŕËÁË ÖÁßéÁ ÍéË ŢéßÍŔ ˙Ë ˙Áß ÁÍ ŢÁ ŕ ÖßÍ ŢßÍŔ ĐÍËŔ call-by-reference ÖßéÍ ĹééŔ ŕ ŢßÍŔ ÍÁ) .ËÍßŔ ˙ ÝÁÍ ÁÍ ŢŔ ˙Ë ŕ ˙Í Ë ß (Ëéé ÖßÍ ŕÁÍŔ ŕ ŢßÍŔ ÍÁ) ŢßÍŔ Í ŕ ˙ Ë (Ë :Ë ŕß ł Ĺ ŕ .Ëß˙ ŕËÁË Íß
ÖßÍ Í e Í ß (É ËË) integer ˙ÁŕËÁË Öß Í ˙ v Í ŢéÁ Đéé .ËÍÁË˙é ŕé ÁÍ Employee ÎÁ ŕË ŕ ĹŔ ŕ ÖßÍ ŕ ĹÁ ŢéÁ .Ëéß˙ ŕËÁË Íß ChangeArgs() Đ Ë ŕ ŢßÍŔ ŢÁß Í Ëé é ß (ĹéÁ v ŕé ÔßéÍé ŕ áÍ ÁÍ) .ËË˙ Í ÁÍ x Í ÁÍ Ë .ËÁß˙ ÁÍ Employee ĹŔ ÎÁ ŕË Á ÁÍ setSalary() :Ë ŕß ÍÎ ˙ßÍ ŕ
ĹÍßéé e .ĹéÁ ŕËÍ Í eSalary ÜÍ ŕ .Ëß ŕËÁË ËÍß changeArgs .ĹÁ ŕË ŕËÁË Íß call-by-reference Ë Overload Ëé é Overload ÁÍ Řéé éé ˙Í ÁÍ Ĺ Á Ý Ë Ë ŘÍ ß éÍ ÁÍ ËÁË ŹÝ ŕ áË Ă Á ÁÍ Ă Ë Í .Ëß ˙ÁŕËÁË ÖÁßÁ ß ŢßÍŔ ËÁË Ë ˙Áß ÁÍ Ý Í ÁÍ ˙ÁŕËÁË ÖÁßÁ .Ë˙ Ă Á ŹË ÍÎ ŢßÍŔ
Ëé é print(Hello) ŕ ÍË ËÁß˙ ÁÍ ÁÍ Ë specifiyingprint() .ËÁß˙ ÁÍ ÁÍ ˙ .Ëßé Overload Źreturn ˙ÁŕËÁË Ößé ŢËÁË Íé ËÁß ˙ Ë Ú ŹËééé ŕé ˙Í ÁÍ Ĺ ß ˙Á Đ Ú ÍË Ë ßË ŘÍ ÍÁ .ËË˙ Ô Ý Í
˙ÁŕËÁË Ößé Ôé ß ĹÁ Ëßß Ë ŕ ŕ áË ŘÍ ÁÍÎ ËË˙ Ô Ĺßéé sum() ˙éË Ţ Í ŕß .Ĺ ˙ ËÍÁË Ĺß return żËß˙ Üě Constructor initialize ˙ÁÍé ß ËééÁ ÍéÜ ŕ Ë ˙ÁŕĎß Ë Constructor Constructor ÍË ÁÍ Ëßé ÍéŐé ËÍßé ˙éÍ Ë .Ëß˙ ŕËÁß ÁÍ ĹŔ Ĺééé é ËééÁßé ˙ ŹË Ë Constructor ŕěŔ ÎÁ .ËËÍÁÍ Ëé Constructor ŢÁ Ëßß .Ëß ŘÍ ˙ Ë ˙ŕ ß Í ÁÍ é Ëéé Constructor ŕß .Ëß ˙ ŘÍ ŢŔ ÍË ŕ Ë ˙ Ý .Ëß ŘÍ return ˙ÁŕËÁË Öß Ëé Ô ŕÁÍ ŕ Codemo2 Đ ŹË ŢŔ ÍË .ÝËÍ˙ Î ą Ĺ ÍË ˛ Ĺ ŕ :Ëß ŕËŔ ÍÎ
ÜéÁ ÍË żÁÍ ĹÁ ŕË ŘÍ CoDemo2 ÍË CoDeomo2() Ý ŕ ˙ Constructor Úé Íééé Ë˙ Ň ÁÍ Constructor ß ŕËß ŘÍ ÁÍ ˙ ˙ ß :ËÎ˙ ˙ Í Í ÓÍ Ń Constructor
:Ë˙ ÓÍ Ń ŢßÍŔ ŢßË Constructor
ÍË ÁÍ áÍéË Constructor ÍÁ .Ë ŕË ŘÍ Đ ÍË áÍË Constructor .ËÎ˙ ÓÍ Ń ŢßÍŔ ŢßË Constructor Í ŹË ŘÍ Đ
.ËÍÁË Ëßß Constructor ÁÍÎ Ëß˙ ÍÁË Ë ŹÍ .Ë˙ ˙Ë ÍÁË ÁÍ instance ˙Ë Constructor .Ë˙ ËÁ Constructor ÍË ÁÍ ˙Ë
.Ë ˙Ë ÍÁË system.out.println(i) ÎÁ Ü ÁÍ i Ë ÝééÁ ŹĹéÁ ÍË Ë ŘÍ Đ Ú ÍË Constructor Ë ËÁß ˙ .ĹÁÍĚ ŢÁ Ř ˙˙Ë ÍÁË ´ Ĺ
:ĹÁ ÍÎ Ë ˙ß ß ËÍÁË ˙ßÍŔ Constructor ŢßÁ :ËÍÁË Constructor .ËÁß˙ ÁÍ ÁÍ ł ŢßÍŔ ÝßË Constructor ŢŔ ÍË ŕ this(0,0,1) Ëé é ÍË ŕËé Ëß Ë ŢßÁ Ë this() ŮÍÔ ÎÁ Constructor ˙Áß ÁÍ ˙ÁßÁÍ ÁÍÎ .ËË˙ Ô Ý Í ĹÍßÁ Í ÍË Ë Constructor ˙éÁßéÁÍé ßË ËééÁßé ˙éé éé .Ë Ë Ô ŢßÁ Ë Constructor Ëé ËÁß ˙ ŕß ˙ÁÍ .Ë Ň Constructor Ú ÍË ÁÍ Constructor Ý Í ĹÁ ÍË .Ë ŕ ÁË ÁÍ this(0,0,1); this(60,30,30) .ËË˙ Ô Đ ŘÍ ŕ Ë˙ ÍË Ë ŕÔ ÁÍ Áß Đ ŕ ˙Á Ë ÍÁ Ýé ŕé áËé é Ëéé ŕßéé .ĹéÁ private ĹÍß Constructor Ú Ü Đé ŢŔ ÎÁ ĹéééŔ Úé Ô ËË˙ ŢÁ ŕ Ë ŕ ÁË getInstance() .Ë singletons Öß ŢÁ .Ëß ŕ Đé ÎÁ ËéÁßé ˙é ĹéŔ Ú Ô ŢÁ ÍË ŕ ĹÁ ˙ÁÍÔ ˙ßÁ Ú Singleton .ĹéÁ ĹéŔ Ë ËÁ áËß ˙Ô ŕÎ ÜË ŕ ÍÁ ŢÁ .Ëß ŕ ŕééé ÁÍ ŕé Ô ÍÁ ŕ ËËß ŘÍ ÁÍ ˙ ŕ Ë ÓÍ ŕß ˙ÁÍ Îéé ĹéŔ Ú ŕ ŕ Ô ÍÁ áÍÁÍÍ ˙ÁÍ ĹÁ ÍË .Ë˙ áÎ ˙éé Ë ŕ iSingleton Đ ÍÎ Ü .ĹÁ ÍŢÎ Ô ÍÁ ŢÁ ÁÍÎ ËÍÁË :Ë˙ ŘÍ ËÎ˙ ÍĚ ŢÁ ÁÍ ŕ ŕ
Íé new=cn_NetworkConnection_networkConstructors() ŢËß Ň ŹË˙ ˙éÁßéÁÍé é ËéÁßé ˙é NetworkConnection ÎÁ ŕéßéé Úé Ô .Ĺ .Ëß ŕ getInstance
áÍÎ ˙émodifier ß ŕéé Ú ÁÍ Ë ß Ë ŘÍ ŕß Ĺ ŢÁ ÍË ß Đé Đé ß Instance ˙éËé Ţ Ĺß ŕ ŕß .Ë Í ÁÍ ŹŘ ÁÍ singleton ß ŕË áÍÁĚ ŕÍ ÖÁßÁ Ţ ËËÍ ˙ Instance ˙Ë .Ë Í ÁÍ
|
![]()
Copyright 2001, IT World/JavaWorld/International Data Group Corp./PC WORLD Iran. All rights reserved.
|