Java面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)new_第1頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)new_第2頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)new_第3頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)new_第4頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)new_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Java面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)1 類的結(jié)構(gòu)1.1 類聲明類的定義:class A成員變量與成員方法的定義1.2 創(chuàng)建對(duì)象對(duì)象的創(chuàng)建:A a; /對(duì)象的聲明,即定義A類的一個(gè)對(duì)象,名為aa=new A(); /對(duì)象的創(chuàng)建,即為a對(duì)象開辟一個(gè)內(nèi)存區(qū), /并調(diào)用構(gòu)造方法A()對(duì)對(duì)象進(jìn)行初始化上面兩步也可以合并為一步:A a=new A(); a 對(duì)象變量方法/*Class1.java*/class Manint height;int age;public class Class1public static void main(String args)Man man1;man1=new Man();ma

2、n1.height=180;man1.age=20;System.out.println(man1.height);System.out.println(man1.age);1.3 構(gòu)造方法構(gòu)造方法是在創(chuàng)建對(duì)象時(shí)調(diào)用執(zhí)行的特殊函數(shù),用于對(duì)對(duì)象進(jìn)行初始化。如果編程者沒有編寫構(gòu)造方法,編譯器會(huì)自動(dòng)提供一個(gè)缺省的無參的空構(gòu)造方法。但如果編程者編寫了構(gòu)造方法,編譯器將不再提供缺省的無參的空構(gòu)造方法。造方法的名字必須與類名相同,且沒有任何返回值,也不可使用void關(guān)鍵字??梢栽跇?gòu)造方法中使用this()來調(diào)用其他被重載的構(gòu)造方法。/*Class17.java*/public class Class17i

3、nt a;public Class17() /構(gòu)造方法a=10;public static void main(String args)Class17 ob=new Class17();System.out.println(ob.a);/*Class18.java*/public class Class18int a;public Class18()a=10;public Class18(int a)this.a=a;public static void main(String args)Class18 ob1=new Class18();Class18 ob2=new Class18(20)

4、;Class18 ob3=new Class18(30);System.out.println(ob1.a);System.out.println(ob2.a);System.out.println(ob3.a);/*Class19.java*/public class Class19int a;public void Class19() /這里Class28()不是構(gòu)造函數(shù)a=10;public static void main(String args)Class19 ob=new Class19();System.out.println(ob.a);2 類的成員2.1 成員變量和局部變量類

5、體中定義的變量稱為成員變量,而類的成員方法中定義的變量以及方法中的形式參數(shù)則稱為局部變量。成員變量在整個(gè)類體中有效,而局部變量只在定義它的方法中有效。 使用局部變量之前必須對(duì)其進(jìn)行初始化,否則編譯時(shí)會(huì)出錯(cuò)。2.2 關(guān)鍵字this this代表本類的對(duì)象;通過它可以引用本類的成員。只能在實(shí)例方法中使用this關(guān)鍵字。this()可用于調(diào)用本類的構(gòu)造方法。/*ThisDemo.java*/class ThisDemo1 int a1=1,a2=2; void ss()int a1=10, a2=20;a1=this.a1;System.out.println(a1);System.out.prin

6、tln(a2); public class ThisDemo public static void main(String args)ThisDemo1 aa=new ThisDemo1();aa.ss();System.out.println(aa.a1); 2.3 類方法和實(shí)例方法有關(guān)鍵字static修飾的稱為類方法(又稱靜態(tài)方法)和類變量(又稱靜態(tài)變量),而沒有static修飾的稱為實(shí)例方法和實(shí)例變量。實(shí)例方法和實(shí)例變量只能通過對(duì)象名引用,而類方法和類變量既能通過對(duì)象名引用,也能通過類名引用。 類方法只能直接訪問本類中的類成員。/*ConstructorDemo.java*/class

7、ConstructorDemo1 int a1,a2; ConstructorDemo1() /構(gòu)造方法 a1=1; a2=2; static void pntout(String s) /類方法System.out.println(s);public class ConstructorDemo public static void main(String args)ConstructorDemo1 abc=new ConstructorDemo1();System.out.print(1+2=);System.out.println(abc.a2 + abc.a1);ConstructorD

8、emo1.pntout(你們好,朋友們!); /*Class3.java*/public class Class3int a;static void setA(int b) /靜態(tài)方法a=b; /錯(cuò),靜態(tài)方法中不能直接訪問非靜態(tài)的成員變量apublic static void main(String args)Class3.setA(10);/*Class4.java*/public class Class4static int a; /靜態(tài)變量static void hello() /靜態(tài)方法System.out.println(你好);static void setA(int b) /靜態(tài)

9、方法a=b;hello();void printA()System.out.println(a); /非靜態(tài)方法可以訪問靜態(tài)變量ahello(); /非靜態(tài)方法也可以訪問靜態(tài)方法hello()public static void main(String args)Class4.setA(100);Class4 ob=new Class15();ob.printA();2.4 訪問權(quán)限(1) 使用在成員變量和成員方法之前的訪問控制符成員訪問控制符含 義private只能在類的內(nèi)部被訪問public能被所有的類訪問缺省(friendly)只能被同一個(gè)包中的類訪問protected可以被同一包中的類

10、或其他包中的子類訪問(2) 使用在類之前的訪問控制符類訪問控制符含 義public能被所有的類使用缺省(friendly)只能被同一個(gè)包中的類使用3 類的繼承和接口3.1 類的繼承 一個(gè)類可以通過關(guān)鍵字extends繼承另一個(gè)類,被繼承的類稱為父類,而繼承的類稱為子類。子類可以繼承父類所有的非私有的成員作為自己的成員。/*ExtendsDemo.java*/class ExtendsDemo1 int x=8;private int y=9;public double z=10;void pntout(String s) System.out.println(s); class Extends

11、Demo2 extends ExtendsDemo1 float w=100.0f; public class ExtendsDemo public static void main(String args) ExtendsDemo2 abc=new ExtendsDemo2(); System.out.println(abc.x); System.out.println(abc.z); System.out.println(abc.w); abc.pntout(你好,朋友!); 3.2 重寫與關(guān)鍵字super 如果子類定義了與父類中完全相同的方法,則稱在子類中重寫或覆蓋了父類的方法,如果子類

12、定義了與父類中完全相同的變量,則稱在子類中隱藏了父類的變量。通過關(guān)鍵字super可以在子類中訪問被隱藏的父類的變量。super()可以調(diào)用父類的構(gòu)造方法。與this關(guān)鍵字一樣,也只能在實(shí)例方法中使用super關(guān)鍵字。/*SuperDemo.java*/class SuperDemo1 String name=玲玲; int age=18; long tel=66666666;class SuperDemo2 extends SuperDemo1 String name=張三; /與父類的成員變量同名 int age=30; /與父類的成員變量同名 long tel=88888888; /與父類

13、的成員變量同名 void SuperDemo2() /成員方法name=; /引用父類的成員變量age=super.age; /引用父類的成員變量System.out.println(姓名: + name);System.out.println(年齡: + age);System.out.println(電話: + tel); public class SuperDemo public static void main(String args)SuperDemo2 abc=new SuperDemo2();abc. SuperDemo2(); 3.3 final類和abst

14、ract類用關(guān)鍵字final修飾的類稱為最終類,即不能派生子類。用關(guān)鍵字final修飾的變量稱為最終變量,必須在聲明時(shí)賦予初始值,使用中不能修改。用關(guān)鍵字abstract修飾的方法稱為抽象方法,抽象方法沒有方法體。包含有抽象方法的類就是抽象類,抽象類必須用關(guān)鍵字abstract加以修飾。抽象類不能創(chuàng)建對(duì)象,但可以派生子類。3.4 接口關(guān)鍵字interface用來聲明一個(gè)接口,通過關(guān)鍵字implements來實(shí)現(xiàn)接口。接口體中的所有方法都是抽象方法,所有的屬性都默認(rèn)為static,且都默認(rèn)為public。在Java中一個(gè)類只能繼承一個(gè)父類,但可以實(shí)現(xiàn)多個(gè)接口。實(shí)現(xiàn)一個(gè)接口必須實(shí)現(xiàn)接口中的所有抽象

15、方法,哪怕是空實(shí)現(xiàn)。/*AbstractDemo.java*/interface AbstractDemo2 int aa=100; float ab=100.0f; void pntout(String ss); /抽象方法class AbstractDemo1 implements AbstractDemo2 /實(shí)現(xiàn)一個(gè)接口 public void pntout(String ss) System.out.println(ss); /實(shí)現(xiàn)接口中的抽象方法 public class AbstractDemo public static void main(String args)Abstra

16、ctDemo1 abc=new AbstractDemo1();System.out.println(abc.aa);System.out.println(abc.ab);abc.pntout(I am a teacher.); 4 包與import語句在Java中,包指的是接口和類的集合,這些接口和類根據(jù)功能的不同,被分別放在不同的包中。包結(jié)構(gòu)的表示方法與目錄結(jié)構(gòu)類似,但采用域名表示法,即用點(diǎn)“.”代替“”。包的創(chuàng)建使用package語句,它在當(dāng)前目錄下創(chuàng)建指定的包,并將編譯后的類文件放入指定的包中。為了在其他的包中使用所定義的類,必須使用import關(guān)鍵字導(dǎo)入要使用的類。java.lang

17、包是java語言的核心類庫(System類和String類均在該包中),系統(tǒng)會(huì)自動(dòng)導(dǎo)入該包中所有的類(import java.lang.*)。4.1 package語句/*Class10.java*/package Mypack.pack1; / 建立用戶自己的類庫public class Class10 / Class10修飾為public表示能被所有的類訪問public void hi()System.out.println(Hi);/*Class11.java*/import Mypack.pack1.Class10; / 使用用戶自己的類庫public class Class11pub

18、lic static void main(String args)Class10 ob=new Class10();ob.hi();4.2 import語句 Java程序不但可以利用本程序中定義的類,還可以通過import語句引入Java提供的類。/*Class12.java*/import java.util.Date; / 使用Java的類庫public class Class12public static void main(String args)Date d=new Date();System.out.println(d);5 String類5.1 字符串變量(1) 字符串變量的創(chuàng)建

19、字符串變量的創(chuàng)建主要有兩種: String str1=I am a teacher;或 String str2=new String(I am a teacher );/*StringDemo.java*/public class StringDemo public static void main(String args)String str1=I am a student;System.out.println(str1);String str2=new String(str1);System.out.println(str2);String str3=new String(I am a s

20、tudent);System.out.println(str3);String str4=new String();str4=I am a teacher;System.out.println(str4); (2) 字符串和字符數(shù)組的關(guān)系可以通過字符數(shù)組來創(chuàng)建一個(gè)字符串變量:char chr=t, e, a, c, h, e, r;String str=new String(char);/*StringArrayDemo.java*/public class StringArrayDemo public static void main(String args)char chr=t, e, a

21、, c, h, e, r;System.out.println(chr);System.out.println(chr3);String str1=new String(chr);System.out.println(str1);String str2=new String(chr,0,3);System.out.println(str2);System.out.println(str1.length();System.out.println(str2.length(); 5.2 String類的方法String類的常用方法 public int compareTo(String anothe

22、rString)比較當(dāng)前字符串與anotherString的大小。若當(dāng)前字符串大,則返回正整數(shù);若當(dāng)前字符串小,則返回負(fù)整數(shù);若相等,則返回0。 public boolean startsWith(String prefix)測(cè)試當(dāng)前字符串是否以指定字符串prefix開始。public boolean endsWith(String suffix)測(cè)試當(dāng)前字符串是否以指定字符串suffix結(jié)尾。 public boolean equals(Object anObject)將當(dāng)前字符串與指定的對(duì)象anObject比較。若對(duì)象內(nèi)容相同返回true,否則返回false。 public int ind

23、exOf(int ch)從當(dāng)前字符串中查找指定字符ch,返回其首次出現(xiàn)處的索引。若找不到,則返回-1。 public int indexOf(int ch, int fromIndex)從當(dāng)前字符串中formIndex處開始查找指定字符ch,返回其首次出現(xiàn)處的索引。返回結(jié)果同(9)。 public int indexOf(String str)從當(dāng)前字符串中查找指定字符串str,返回其首次出現(xiàn)處的索引。返回結(jié)果同(9)。 public int indexOf(String str, int fromIndex)從當(dāng)前字符串中formIndex處開始查找指定字符串str,返回其首次出現(xiàn)處的索引。

24、返回結(jié)果同(9)。 public int length()返回當(dāng)前字符串的長(zhǎng)度(字符個(gè)數(shù))。 public String replace(char oldChar, char newChar)將當(dāng)前字符串中的oldChar字符替換為newChar字符。 public String substring(int beginIndex)返回當(dāng)前字符串中從beginIndex開始至串尾的一個(gè)子字符串。 public String substring(int beginIndex, int endIndex)返回當(dāng)前字符串中從beginIndex開始至endIndex-1處的一個(gè)子字符串。 public

25、 String trim()去掉當(dāng)前字符串的前后空格。public static String valueOf(基本數(shù)據(jù)類型)將數(shù)值轉(zhuǎn)換為字符串。public String toLowerCase()將字符串轉(zhuǎn)換為小寫形式。public String toUpperCase()將字符串轉(zhuǎn)換為大寫形式。5.3 數(shù)據(jù)類型的轉(zhuǎn)換(1) 字符串轉(zhuǎn)換為數(shù)值字符串轉(zhuǎn)換為數(shù)值的方法public static int parseInt(String s)將字符串轉(zhuǎn)換為int型。public static double parseDouble(String s)將字符串轉(zhuǎn)換為double型。public static long parseLong(String s)將字符串轉(zhuǎn)換為long型。public static byte parseByte(String s)將字符串轉(zhuǎn)換為byte型。public static short parseShort(String s)將字符串轉(zhuǎn)換為short型。public static float parseFloat(String s)將字符串轉(zhuǎn)換為flo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論