黑馬程式設計師Java培訓和Android培訓:列舉
靜態匯入import static
可變引數
public int add(int i,int...args)
{
int sum;
for(i=0;i<args.length;i++)
{
sum+=arg[i];
}
return sum;
}
把上面的For迴圈改為增強For迴圈的話
public int add(int i,int...args)
{
int sum;
for(int arg:args)
{
sum+=arg;;
}
return sum;
}
自動裝箱和拆箱
裝箱: Interger number=12;
裝箱的整數在 -128~127之內 那麼2個interger相等
如果超出了這個範圍 那麼!=
享元模式flyweight
模擬列舉的原理
構造出來的列舉的成員都是物件型別的值
採用抽象方法定義nextDay就將大量的if else語句轉移成了一個個獨立的類
package Lessson;
public class EnumTest {
public static void main(String[] args) {
WeekDay wd=WeekDay.Sun;
System.out.println(wd.nextDay());
}
}
package Lessson;
public abstract class WeekDay {
private WeekDay(){}
public final static WeekDay Sun=new WeekDay(){
public WeekDay nextDay(){return Mon;}
};
public final static WeekDay Mon=new WeekDay(){
public WeekDay nextDay(){return Sun;}
};
public abstract WeekDay nextDay();
/* public WeekDay nextDay(){
if(this==Sun)
return Mon;
else
return Sun;
}*/
public String toString()
{
return this==Sun? "Sun":"Mon";
}
}
列舉的構造方法 必須方法列舉的靜態變數之後,而且列舉的構造方法必須是私有的
如
public enum WeekDay{
mon(1),tu,wen,thu,fri,sat,sun;
private WeekDay(){
System.out.println("用的是第一種構造方法");
}
private WeekDay(int day){
System.out.println("用的是第二種構造方法");
}
}
}
實現帶有抽象方法的列舉 (抽象類不需要body)
其中包含了內部類的知識:類的方法返回的型別可以是自己的型別,類裡面可以定義靜態常量,常量指向的結果就是自己這個型別的例項物件
列舉只有一個成員時,就可以作為一種單例的實現方式
package Lessson;
public class Enum2 {
public static void main(String[] args) {
TrafficLight tr=TrafficLight.RED;
System.out.println(tr.nextLight());
}
public enum TrafficLight
{
RED(30)
{
public TrafficLight nextLight ()
{
return GREEN;
}
}
,
GREEN(45)
{
public TrafficLight nextLight ()
{
return YELLOW;
}
}
,
YELLOW(5)
{
public TrafficLight nextLight ()
{
return RED;
}
}
;
public abstract TrafficLight nextLight ();
int time;
private TrafficLight(int time)
{
this.time=time;
}
}
}
相關文章
- 黑馬程式設計師Java培訓和Android培訓:培訓前奏程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓:I/O程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓_IO(二)程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓:程式設計基礎程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓:物件導向程式設計師JavaAndroid物件
- 黑馬程式設計師Java培訓和Android培訓:內部類程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓Java技術二程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓:多執行緒程式設計師JavaAndroid執行緒
- 黑馬程式設計師Java培訓和Android培訓_java高新技術(一)程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓Java GUI圖形使用者介面程式設計師JavaAndroidGUI
- Java程式設計師技術培訓需要培訓哪些?Java程式設計師
- 好程式設計師Java培訓分享Java程式設計技巧程式設計師Java
- 長沙Java培訓:自學Java程式設計有必要報培訓班麼?Java程式設計
- 好程式設計師Java培訓Java程式設計師必學技術程式設計師Java
- 好程式設計師Java培訓分享Java程式設計師技能提升指南程式設計師Java
- 好程式設計師Java培訓分享Java和HTML的區別?程式設計師JavaHTML
- 好程式設計師Java培訓Java容器類List和Set分析程式設計師Java
- 程式設計師自學/自我培訓指南程式設計師
- 好程式設計師Java培訓分享maven-概述程式設計師JavaMaven
- Java程式設計師培訓班哪家比較好Java程式設計師
- 好程式設計師Java培訓分享int和Integer的區別程式設計師Java
- 好程式設計師Java培訓分享treeset和hashset的區別程式設計師Java
- 好程式設計師Java培訓分享如何快速入門Java程式設計程式設計師Java
- 好程式設計師Java培訓分享Java之反射技術程式設計師Java反射
- 好程式設計師Java培訓分享Java初學者必讀程式設計師Java
- 好程式設計師Java培訓分享Java多執行緒程式設計師Java執行緒
- 好程式設計師Java培訓分享Java包是什麼?程式設計師Java
- 好程式設計師Java培訓分享如何快速入門Java程式設計師Java
- 好程式設計師Java培訓分享BigDecimal的用法程式設計師JavaDecimal
- 好程式設計師Java培訓分享SpringBoot -YAML程式設計師JavaSpring BootYAML
- 好程式設計師Java培訓分享For迴圈詳解程式設計師Java
- 好程式設計師Java培訓分享Mybatis面試題集合程式設計師JavaMyBatis面試題
- 好程式設計師Java培訓分享Java程式設計師常用的工具類庫程式設計師Java
- 好程式設計師Java培訓分享20個Java程式設計師基礎題程式設計師Java
- 好程式設計師Java培訓分享本地快取如何設計程式設計師Java快取
- java培訓分享:java培訓架構師學習線路圖Java架構
- 好程式設計師Java培訓分享學Java程式設計要注意什麼程式設計師Java
- 好程式設計師Java培訓簡述Java新手如何學程式碼程式設計師Java