java基礎知識大全
Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚,允許程序員以優(yōu)雅的思維方式進行復雜的編程。下面小編整理了java基礎知識大全,希望對大家有幫助!
基本數(shù)據(jù)類型
1、標識符區(qū)分大小寫:hello與Hello是不同的標識符。
2、基本數(shù)據(jù)類型的精度由低到高依次為:byteshortcharintlongfloatdouble
3、格式控制符號:
%d int類型
%c char類型
%f 浮點類型
%s 字符類型
例如:
System.out.println("%d,%f",1,1.23)
4、數(shù)組的兩種創(chuàng)建方式:
Object[]arry=newObject[n];
Object[]arry=newObject[]{x,y,z,..};
表達式
1、switchcase語句:case下加break或者加return都是可以的。
2、break與continue:break語句結束整個循環(huán);continue結束當前循環(huán),開始下一次循環(huán)。
類與對象
1、多態(tài):Java中多態(tài)分兩種,重載(Overload)和重寫(Override)。
重載:一個類中多個方法具有相同的名字,但方法的參數(shù)不同。
參數(shù)個數(shù)不同或者參數(shù)類型不同
返回類型與參數(shù)名稱不參與比較
重寫:子類重新(覆蓋)父類的方法。
可以提高訪問權限,不允許降低訪問權限。
2、this關鍵字:this表示當前對象,在構造方法中代表該構造方法所創(chuàng)建的對象。
3、包與訪問權限:
java.lang包:系統(tǒng)自動添加,所以你從來都看不到。(包括System、Math類等)
包訪問權限:不是三大國民修飾符修飾的成員變量和方法被稱為友好變量和友好方法,在同一包中可以自由訪問。
4、反編譯與文檔生成器:
javap:將字節(jié)碼反編譯為源碼。
javadoc:將注釋生成html文檔。
5、生成jar文件:在Eclipse下,選擇File——Export——java——JARFILE
子類與繼承
1、Object類:所有類都繼承自Object類,“ClassA”原型是“CalssAextendsObject”。
2、繼承:
當子類與父類不在同一個包中,子類只繼承父類中protected和public訪問權限的成員變量與方法
子類繼承的方法只能操作子類繼承和隱藏的成員變量。子類新定義的方法可以操作子類繼承和子類新聲明的成員變量,但無法直接操作子類隱藏的成員變量(要使用super)
子類不繼承父類的構造方法,因此子類在其構造方法中要使用super調(diào)用父類的構造方法。
當類中定義了一個或多個構造方法時,java不提供默認構造方法。因此父類中定義多個構造方法時,必須包括一個不帶參數(shù)的構造方法。
面向抽象編程
1、對象的向上轉型:上轉型對象不能操作子類新增的成員變量與方法
父類f=new子類;
2、Open-ClosedPrinciple:系統(tǒng)應當對擴展開放,對修改關閉。(怎么辦?面向抽象和接口啊!)
3、面向抽象編程:設計類時,不該讓類面向具體的類,而是面向抽象類。
例子:
設計抽象類SIM,以便擴展具體的運營商
publicabstractclassSIM{
protectedStringnumber;
protectedStringtype;
publicabstractvoidsetNumber(Stringnumber);
publicabstractvoidsetType;
publicvoidshow{
System.out.println("類型:"+type+"號碼"+number);
}
設計手機類,重點是在手機類中添加SIM抽象類,等待子類具體實現(xiàn)。
publicclassMobliePhone{privateSIMsim;publicvoidsetSIM(SIMsim){this.sim=sim;
}publicvoidshowMessage{
sim.show;
}
實現(xiàn)兩種類型的SIM卡,設為移動和聯(lián)通。(Type類型可以在構造函數(shù)中實現(xiàn))
publicclassyidongextendsSIM{
@OverridepublicvoidsetNumber(Stringnumber){this.number=number;
}
@OverridepublicvoidsetType{this.type="聯(lián)通";
}
主函數(shù)如下,若需要擴展SIM卡,只要繼承SIM抽象類即可。如此設計即符合Java開閉原則。
publicstaticvoidmain(String[]args){
MobliePhonemp=newMobliePhone;
SIMsim=newyidong;
sim.setNumber("{{123456789:0}}");
sim.setType;
mp.setSIM(sim);
mp.showMessage;
sim=newliantong;
sim.setNumber("{{987654321:0}}");
sim.setType;
mp.setSIM(sim);
mp.showMessage;
}
面向接口編程
1、接口:
接口中只有抽象方法和常量,抽象方法一定是public,常量一定是publicstatic,你看不到是因為系統(tǒng)隱藏了。
類實現(xiàn)接口,若沒有重寫接口中的全部方法,這個類就是一個抽象類。
接口要求一些類具有相同名稱的方法,但不強迫這些類具有相同的父類。
接口無法調(diào)用類中非接口方法。
(很關鍵)如果一個方法的參數(shù)是接口類型,就可以將實現(xiàn)該接口的類的實例的引用傳遞給該接口參數(shù),這個接口參數(shù)就可以回調(diào)類實現(xiàn)的接口方法。
2、面向接口編程:核心思想是接口回調(diào),與面向抽象編程有一定的相似性。
例子:
設計一個廣告的接口。
publicinterfaceAdvertisement{
voidshowMess;voidshowCompany;
}
設計Televison類用于播放廣告,重點是設置接口的參數(shù)回調(diào)。
publicclassTelevison{
Advertisementadv;publicvoidsetAdv(Advertisementadv){this.adv=adv;
}publicvoidadvertise{
adv.showCompany;
adv.showMess;
}
實現(xiàn)具體的廣告類
publicclassnaobaijinimplementsAdvertisement{
@OverridepublicvoidshowMess{
System.out.println("收禮只收腦白金");
}
@OverridepublicvoidshowCompany{
System.out.println("白金集團");
}
主函數(shù)如下,若需要擴展廣告,只要實現(xiàn)Advertisement接口即可。如此設計即符合Java開閉原則。
main(String[]args){
Televisontv
【java基礎知識】相關文章:
Java基礎知識精選09-07
java基礎知識07-16
java培訓的基礎知識06-01
Java語法基礎知識10-09
Java語言的基礎知識06-12
java web基礎知識06-19
java se基礎知識09-12
Java基礎知識問答08-20
Java基礎知識回顧08-18