override(重寫)
1、方法名、引數、返回值相同。
2、子類方法不能縮小父類方法的訪問許可權。
3、子類方法不能丟擲比父類方法更多的異常(但子類方法可以不丟擲異常)。
4、存在於父類和子類之間。
5、方法被定義為final不能被重寫。
overload(過載)
1、引數型別、個數、順序至少有乙個不相同。
2、不能過載只有返回值不同的方法名。
3、存在於父類和子類、同類中。
只能出現在引數列表的最後。
...位於變數型別和變數名之間,前後有無空格都可以。
呼叫可變引數的方法時,編譯器為該可變引數隱含建立乙個陣列,在方法體中以陣列的形式訪問可變引數。
public int add(int x,int... args)
for(int arg : args)
sum += arg;
自動裝箱: integer num1 = 12;
自動拆箱: system.out.println(num1 + 12);
基本資料型別的物件快取:
integer num1 = 12;
integer num2 = 12;
system.out.println(num1 == num2); //列印為true
integer num3 = 129;
integer num4 = 129;
system.out.println(num3 == num4);//列印為false.,因為超出-127~128.
flyweight(享元模式):integer在-127~128的時候應用享元模式,判斷兩個相等的為true。
列舉就相當於乙個類,其中也可以定義構造方法、成員變數、普通方法和抽象方法。
列舉元素必須位於列舉體重的最開始部分,列舉元素列表最後要有分號和其他成員分隔。若把列舉中的成員方法或變數等放在列舉元素的最前面,編譯器會報錯。
帶構造方法的列舉:
構造方法必須定義成私有的。
如果有多個構造方法,預設選用無參的。
如果列舉只有乙個成員時,就可以作為一種單例的實現方式。
public class enumtestmain
}public enum weekday
private weekday(int day)
}//實現帶有抽象方法的列舉
public class enumtestmain
}enum weekday
private weekday(int day)
}enum trafficlamp
}, green(28)
}, yellow(2)
}; public abstract trafficlamp nextlamp();
private int time;
private trafficlamp(int time)
}
列印結果為:
first
first
monmon
1sun
7yellow
黑馬程式設計師 JAVA高新技術之物件導向的設計思想
張孝祥老師物件導向的設計思想 誰擁有資料,誰就對外提供操作這些資料的方法,誰具有這項屬性,誰就提供操作這些屬性的方法。經典案例分析 1 人在黑板上畫圓 這個案例有三個物件 person,blackboard,circle 有乙個動作畫圓,畫圓這個動作可以封裝成乙個方法draw 那麼,這個draw 方...
黑馬程式設計師 JAVA高新技術之JDK1 5的新特性
jdk1.5的新特性 一 自動裝箱和拆箱 1 自動裝箱和拆箱是由編譯器幫助完成從基本資料型別和基本資料型別的包裝類之間的轉換。基本資料型別 int,long,double,float,boolean,char,byte,short 基本資料型別包裝類 integet,long,double,floa...
黑馬程式設計師 高新技術之可變引數與裝箱拆箱
asp.net android ios開發 net培訓 期待與您交流!可變引數 特點 只能出現在引數列表的最後 位於變數型別和變數名之間,前後有無空格都可以 呼叫可變引數的方法時,編譯器為該可變引數隱含建立乙個陣列,在方法中以陣列的形式訪問可變引數 基本型別的自動拆箱與裝箱 享元模式 flyweig...