Java基礎(chǔ)教學(xué)課件三_第1頁(yè)
Java基礎(chǔ)教學(xué)課件三_第2頁(yè)
Java基礎(chǔ)教學(xué)課件三_第3頁(yè)
Java基礎(chǔ)教學(xué)課件三_第4頁(yè)
Java基礎(chǔ)教學(xué)課件三_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、java基礎(chǔ)主要內(nèi)容包的使用對(duì)象的構(gòu)造與銷毀構(gòu)造函數(shù)訪問(wèn)控制的權(quán)限static,finalpackage語(yǔ)句為便于管理大型軟件系統(tǒng)中數(shù)目眾多的類,解決類的命名沖突問(wèn)題,Java引入包(package)機(jī)制,提供類的多重類命名空間。 java io lang System String Objectpackage語(yǔ)句package語(yǔ)句作為Java源文件的第一條語(yǔ)句,指明該文件中定義的類所在的包。(若缺省該語(yǔ)句,則指定為無(wú)名包)。它的格式為:package pkg1.pkg2.pkg3;舉例:Test.javapackage p1;public class Test public void dis

2、play()System.out.println(in method display(); 用 . 來(lái)指明包(目錄)的層次;import語(yǔ)句為使用定義在不同包中的Java類,需用import語(yǔ)句來(lái)引入所需要的類。語(yǔ)法格式:import package1.package2. (classname |*);應(yīng)用舉例: import p1.Test; /import p1.*;public class TestPackagepublic static void main(String args) Test t = new Test(); /Test類在p1包中定義 t.display(); impo

3、rt 語(yǔ)句對(duì)于 import java.io.*;將按照路徑: javaio 來(lái)查找所需的外部類。堆和棧內(nèi)存中的兩種區(qū)域堆(heap)棧(stack)由JVM進(jìn)行分配堆和棧棧方法調(diào)用和局部變量堆運(yùn)行的時(shí)候分配所有的對(duì)象實(shí)例變量堆和棧Person p = new Person();構(gòu)造函數(shù)引用構(gòu)造函數(shù)構(gòu)造函數(shù)的作用在被賦值給引用之前調(diào)用介入new 的過(guò)程完成初始化構(gòu)造方法功能:創(chuàng)建其所屬類型的一個(gè)新的對(duì)象。語(yǔ)法格式: () 舉例:class Person int age;Person() age = 18; Person(int i) age = i; void setAge(int i) ag

4、e = i; 默認(rèn)的構(gòu)造方法Java語(yǔ)言中,每個(gè)類都至少有一個(gè)構(gòu)造方法;如果類的定義者沒有顯式的定義任何構(gòu)造方法,系統(tǒng)將自動(dòng)提供一個(gè)默認(rèn)的構(gòu)造方法:默認(rèn)構(gòu)造方法沒有參數(shù)默認(rèn)構(gòu)造方法沒有方法體Java類中,一旦類的定義者顯式定義了一個(gè)或多個(gè)構(gòu)造方法,系統(tǒng)將不在提供默認(rèn)的構(gòu)造方法;默認(rèn)的構(gòu)造方法類的定義:class Person int age; void setAge(int w) age = w; 等價(jià)于: class Person int age Person() void setAge(int w) age = w; 默認(rèn)的構(gòu)造方法應(yīng)用舉例:class Test public static

5、 void main(String args) Person d = new Person() ; d.setAge(120); 構(gòu)造方法重載構(gòu)造方法重載舉例: public class Personpublic Person(String name, int age, String s) public Person(String name, int age) public Person(String name, String s) 構(gòu)造方法重載,參數(shù)列表必須不同可以在構(gòu)造方法的第一行使用this關(guān)鍵字調(diào)用其它(重載的)構(gòu)造方法構(gòu)造方法重載舉例public class Person priva

6、te String name; private int age; private String sex; public Person(String name, int age, String s) = name; this.age = age; this.sex= s; public Person(String name, int age) this(name, age, “female”); public Person(String name, String d) this(name, 30, d); public Person(String name) this(nam

7、e, 30); 調(diào)用父類構(gòu)造方法在子類的構(gòu)造方法中可使用super(argument_list)語(yǔ)句調(diào)用父類的構(gòu)造方法如果子類的構(gòu)造方法中沒有顯示地調(diào)用父類構(gòu)造方法,則系統(tǒng)默認(rèn)調(diào)用父類無(wú)參數(shù)的構(gòu)造方法如果子類構(gòu)造方法中既未顯式調(diào)用父類構(gòu)造方法,而父類中又沒有無(wú)參的構(gòu)造方法,則編譯出錯(cuò)*調(diào)用父類構(gòu)造方法舉例 (1)1 public class Person 2 3 private String name;4 private int age;5 public Person(String name, int age) = name; this.age = age; 12 publ

8、ic Person(String name, int age) 13 this(name, age, null);14 15 public Person(String name) 16 this(name, 30, d);17 18 public Person(String name) 19 this(name, 30);2021 / 22 調(diào)用父類構(gòu)造方法舉例 (2)1 public class Student extends Person 2 private String school;34 public Student(String name, int age, String s) 5

9、super(name, age);6 school = s;7 8 public Student(String name, String s) 9 super(name);10 school = s;11 12 public Student(String s) / 編譯出錯(cuò): no super()13 school = s;14 15 引用創(chuàng)建的對(duì)象Person p = new Person();引用類型對(duì)象的構(gòu)造和初始化為引用類型變量分配引用空間 MyDate m; 創(chuàng)建新對(duì)象-首先為新對(duì)象分配內(nèi)存空間,并進(jìn)行屬性(實(shí)例變量)的默認(rèn)初始化 new MyDate(22, 9, 2001);nu

10、llnullm000daymonthyearm對(duì)象的構(gòu)造和初始化Java引用類型成員變量默認(rèn)初始化原則成員變量類型 取值 byte0 short0 int 0 long0L charu0000 float0.0F double0.0D booleanfalse 所有引用類型null 對(duì)象的構(gòu)造和初始化進(jìn)行屬性(成員變量)的顯式初始化,顯式初始化取值來(lái)自于類的定義中屬性聲明部分 int day = 12;int month = 6;int year = 1900;nullm1261900daymonthyear對(duì)象的構(gòu)造和初始化(4)執(zhí)行構(gòu)造方法Mydate(int y, int m, int

11、d) year = y; month = m; day = d; nullm2292001daymonthyear對(duì)象的構(gòu)造和初始化為引用類型變量m賦值m = new MyDate(22, 9, 2001);0 x3a478bm2292001daymonthyear0 x3a478b對(duì)象中的屬性和方法對(duì)象中屬性和方法的可見度可見度訪問(wèn)修飾符Private DefaultProtectedpublic方法的訪問(wèn)控制publicprotecteddefaultprivate同類同包子類通用性方法的訪問(wèn)控制publicprotecteddefaultprivate同類同包子類通用性不同情形下訪問(wèn)說(shuō)明

12、符方法的訪問(wèn)控制publicprotecteddefaultprivate同類同包子類通用性不同情形下訪問(wèn)說(shuō)明符方法的訪問(wèn)控制publicprotecteddefaultprivate同類同包子類通用性不同情形下訪問(wèn)說(shuō)明符方法的訪問(wèn)控制publicprotecteddefaultprivate同類同包子類通用性不同情形下訪問(wèn)說(shuō)明符訪問(wèn)控制舉例(1)class Parent private int f1 = 1; int f2 = 2; protected int f3 = 3; public int f4 = 4; private void fm1() System.out.println(i

13、n fm1() f1= + f1); void fm2() System.out.println(in fm2() f2= + f2); protected void fm3() System.out.println(in fm3() f3= + f3); public void fm4() System.out.println(in fm4() f4= + f4);訪問(wèn)修飾符類的訪問(wèn)修飾符public:任何包中的類都可以訪問(wèn)該類默認(rèn)值:同一個(gè)包中的類可以訪問(wèn)該類成員的訪問(wèn)修飾符private:只對(duì)本身類可見public:對(duì)一切類可見protected:對(duì)所有子類和同一包中的類可見默認(rèn)值:對(duì)同

14、一包中的類可見注:訪問(wèn)成員的前提是首先能訪問(wèn)成員所屬的類關(guān)鍵字static如果有些類一直在執(zhí)行相同的動(dòng)作則沒有必要每次生成對(duì)象StaticMath.random();關(guān)鍵字static在Java類中聲明變量、方法和內(nèi)部類時(shí),可使用關(guān)鍵字static做為修飾符。static標(biāo)記的變量或方法由整個(gè)類(所有實(shí)例)共享,如訪問(wèn)控制權(quán)限允許,可不必創(chuàng)建該類對(duì)象而直接用類名加.調(diào)用。static成員也稱類成員或靜態(tài)成員,如:類屬性、類方法、靜態(tài)方法等。靜態(tài)方法應(yīng)用舉例public class Person private static int total = 0; public static int ge

15、tTotalPerson() return total; public Person() total+; public class TestPerson public static void main(String args) System.out.println(Number of total is +Person.getTotalPerson(); System.out.println( Number of total is + Person.getTotalPerson(); 靜態(tài)初始化在類的定義體中、方法的外部可包含static語(yǔ)句塊static語(yǔ)句塊僅在其所屬的類被載入時(shí)執(zhí)行一次st

16、atic塊通常用于初始化static (類)屬性class Person public static int total;static total = 100;/為total賦初值 /其它屬性或方法聲明 staticstatic標(biāo)記的變量或方法由整個(gè)類(所有實(shí)例)共享實(shí)例變量:每個(gè)實(shí)例一個(gè)靜態(tài)變量:每個(gè)類一個(gè)關(guān)鍵字final在Java中聲明類、屬性和方法時(shí),可使用關(guān)鍵字final來(lái)修飾。final標(biāo)記的類不能被繼承。final標(biāo)記的方法不能被子類重寫。關(guān)鍵字finalfinal標(biāo)記的變量(成員變量或局部變量)即成為常量,只能賦值一次。final標(biāo)記的成員變量必須在聲明的同時(shí)或在每個(gè)構(gòu)造方法中顯式賦值,然后才能使用關(guān)鍵字final應(yīng)用舉例import java.io.*;public final class Testpublic static int totalNumber= 5 ;public final int id;public Test()id = +totalNumber; public static void main(String args) Test t = new Test();System.out.println

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論