關於enum,其實就是簡化了的class,功能就是提供乙個個獨立的、特定含義的常量!
在jdk5.0之前我們想模擬enum的功能,只能使用自定義類的形式:
1.首先私有化構造方法,讓外部不能new物件。
2.在類內部new多個final的成員變數,讓每個成員變數代表特殊含義(可以私有乙個帶引數的構造方法,提供乙個私有屬性,對外提供乙個get方法)。
如下:
class score // 私有化構造方法,不能讓使用者隨意構造物件,固定了四個等級
public string gets()
public static final score a = new score("100-90");
public static final score b = new score("89-80");
public static final score c = new score("79-70");
public static final score d = new score("69-60");
public static final score e = new score("59-0");
@override
public string tostring()
}
在jdk5.0之後,enum的的出現,更加的靈活:
這裡的a、b、c... 對應上面理解就比較容易了!
enum score
public string gets()
// enum不能重寫tostring
}
同時,enum提供乙個values方法,可以同時獲得所有的屬性!
package b_enum;
/** * 發現乙個有意思的事情,在所有花括號後面加分號都不會報錯!
* 發現其實是可以加分號的,但是我們習慣省略了,因為花括號就已經是乙個整體;
* 是一段獨立的內容了!
* 所以一般我們省略分號,並不會這樣去寫:main() {}; class test{};
* @author mzy
*/public class demo01
}}
對於STL的理解
stl standard template library stl是一些 容器 的集合,這些 容器 有list,vector,set,map等,stl也是演算法和其他一些元件的集合。這裡的 容器 和演算法的集合指的是世界上很多聰明人很多年的傑作。stl的目的是標準化元件,這樣就不用重新開發,可以使用...
對於ftok的理解
回顧了一下以前的實驗,一直不理解為什麼在訊息佇列中要使用ftok,比如下面的乙個例項 if key ftok a 1 qid msgget key,ipc creat 0666 建立乙個訊息佇列 if qid 0 printf created queue id d n qid 輸出訊息佇列的id 要...
對於Zookeeper的理解
zookeeper是google 的chubby乙個開源的實現,是hadoop 的分布式協調服務。它包含乙個簡單的原語集,分布式應用程式可以基於它實現同步服務,配置維護和命名服務等。zookeeper包括乙個leader和多個follower。為什麼使用zookeeper?大部分分布式應用需要乙個主...