資源描述:
《java面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Java面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)1類的結(jié)構(gòu)1.1類聲明類的定義:classA{成員變量與成員方法的定義}1.2創(chuàng)建對象對象的創(chuàng)建:Aa;//對象的聲明,即定義A類的一個對象,名為aa=newA();//對象的創(chuàng)建,即為a對象開辟一個內(nèi)存區(qū),//并調(diào)用構(gòu)造方法A()對對象進行初始化上面兩步也可以合并為一步:Aa=newA();a●對象變量方法/*Class1.java*/classMan{intheight;intage;}publicclassClass1{publicstaticvoidmain(String[]args){Manman1;man1=n
2、ewMan();man1.height=180;man1.age=20;System.out.println(man1.height);System.out.println(man1.age);}}1.3構(gòu)造方法構(gòu)造方法是在創(chuàng)建對象時調(diào)用執(zhí)行的特殊函數(shù),用于對對象進行初始化。如果編程者沒有編寫構(gòu)造方法,編譯器會自動提供一個缺省的無參的空構(gòu)造方法。但如果編程者編寫了構(gòu)造方法,編譯器將不再提供缺省的無參的空構(gòu)造方法。造方法的名字必須與類名相同,且沒有任何返回值,也不可使用void關(guān)鍵字。可以在構(gòu)造方法中使用this()來調(diào)用其他被重載的構(gòu)造方法。/*Cl
3、ass17.java*/publicclassClass17{inta;publicClass17(){//構(gòu)造方法a=10;}publicstaticvoidmain(String[]args){Class17ob=newClass17();System.out.println(ob.a);}}/*Class18.java*/publicclassClass18{inta;publicClass18(){a=10;}publicClass18(inta){this.a=a;}publicstaticvoidmain(String[]args){Cl
4、ass18ob1=newClass18();Class18ob2=newClass18(20);Class18ob3=newClass18(30);System.out.println(ob1.a);System.out.println(ob2.a);System.out.println(ob3.a);}}/*Class19.java*/publicclassClass19{inta;publicvoidClass19(){//這里Class28()不是構(gòu)造函數(shù)a=10;}publicstaticvoidmain(String[]args){Clas
5、s19ob=newClass19();System.out.println(ob.a);}}2類的成員2.1成員變量和局部變量類體中定義的變量稱為成員變量,而類的成員方法中定義的變量以及方法中的形式參數(shù)則稱為局部變量。成員變量在整個類體中有效,而局部變量只在定義它的方法中有效。使用局部變量之前必須對其進行初始化,否則編譯時會出錯。2.2關(guān)鍵字thisthis代表本類的對象;通過它可以引用本類的成員。只能在實例方法中使用this關(guān)鍵字。this()可用于調(diào)用本類的構(gòu)造方法。/*ThisDemo.java*/classThisDemo1{inta1=1,
6、a2=2;voidss(){inta1=10,a2=20;a1=this.a1;System.out.println(a1);System.out.println(a2);}}publicclassThisDemo{publicstaticvoidmain(Stringargs[]){ThisDemo1aa=newThisDemo1();aa.ss();System.out.println(aa.a1);}}2.3類方法和實例方法有關(guān)鍵字static修飾的稱為類方法(又稱靜態(tài)方法)和類變量(又稱靜態(tài)變量),而沒有static修飾的稱為實例方法和實例變
7、量。實例方法和實例變量只能通過對象名引用,而類方法和類變量既能通過對象名引用,也能通過類名引用。類方法只能直接訪問本類中的類成員。/*ConstructorDemo.java*/classConstructorDemo1{inta1,a2;ConstructorDemo1(){//構(gòu)造方法a1=1;a2=2;}staticvoidpntout(Strings){//類方法System.out.println(s);}}publicclassConstructorDemo{publicstaticvoidmain(Stringargs[]){Const
8、ructorDemo1abc=newConstructorDemo1();System.out.print(