第三章 Java面向?qū)ο缶幊?ppt_第1頁
第三章 Java面向?qū)ο缶幊?ppt_第2頁
第三章 Java面向?qū)ο缶幊?ppt_第3頁
第三章 Java面向?qū)ο缶幊?ppt_第4頁
第三章 Java面向?qū)ο缶幊?ppt_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第三章,Java面向?qū)ο缶幊?類和對(duì)象的概念,對(duì)象是面向?qū)ο笳Z言技術(shù)的核心。 在現(xiàn)實(shí)世界中,我們看到的所有事物都是對(duì)象。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對(duì)象是對(duì)現(xiàn)實(shí)世界的抽象。(抽象是從特定的實(shí)例中抽取共同的性質(zhì)以形成一般化概念的過程。) 對(duì)象具有兩方面的含義: 在現(xiàn)實(shí)世界中: 是客觀世界中的一個(gè)實(shí)體 在計(jì)算機(jī)世界中: 是一個(gè)可標(biāo)識(shí)的存儲(chǔ)區(qū)域,類是同種對(duì)象的集合與抽象。是描述對(duì)象的“基本原型”。它定義了一種對(duì)象所能擁有的數(shù)據(jù)和能完成的操作,在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類是程序的基本單元,也是一種復(fù)合數(shù)據(jù)類型。 類也稱為模板,因?yàn)樗鼈兲峁┝藢?duì)象的基本框架。,對(duì)象的成員,我們把屬性和方法稱為某個(gè)對(duì)象的成員。

2、屬性 屬性是用來形容一個(gè)實(shí)例對(duì)象的,是類和對(duì)象的靜態(tài)屬性。 方法 每個(gè)對(duì)象都有自己的行為或使用它們的方法。方法是類和對(duì)象的動(dòng)態(tài)屬性,標(biāo)志了類所具有的功能和操作。,類和對(duì)象的關(guān)系,類,對(duì)象,抽象,實(shí)例化,封裝的類包括數(shù)據(jù)+方法,現(xiàn)實(shí)的對(duì)象,計(jì)算機(jī)中表示的對(duì)象,面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn),封裝 封裝是將代碼和處理的數(shù)據(jù)綁定到一起的編程機(jī)制,是一種信息隱藏技術(shù)。Java中的基本封裝單元是類。 繼承 繼承是存在于面向?qū)ο笳Z言中兩個(gè)類之間一種關(guān)系。 多態(tài) 多態(tài)是允許一個(gè)接口被多個(gè)同類動(dòng)作實(shí)用的特性。,類的定義,類修飾符 class name type variable1; type variableN; t

3、ype methodname1(parameter-list) /方法體 type methodnameN(parameter-list) /方法體 ,在類中,屬性是通過成員變量體現(xiàn)的,而操作是用成員函數(shù)(又稱為方法)實(shí)現(xiàn)的。,Java中定義類的通用格式:,成員變量(對(duì)象屬性),成員方法 (對(duì)象行為或操作),實(shí)例:定義一個(gè)“人”類,public class Person String name; boolean sex; int age; void display() System.out.println(“姓名:”+name+”性 別:”+sex+“年齡:”+age); ,成員屬性,成員方法

4、,屬性的定義,屬性可以是基本類型的變量,也可以是其他類的對(duì)象。因此屬性的定義就是定義變量或創(chuàng)建對(duì)象的操作。即: 修飾符 類型名 屬性名; 例如: char sex; int age; String name; 定義屬性名時(shí),可以賦初值,也可以一行同時(shí)定義多個(gè)屬性。如int n=1,num=40; 類型名前可以有修飾符,用來修飾限定所定義的屬性的特性,可分為訪問控制符和非訪問控制府兩類。,非訪問控制符,static(靜態(tài)域) 用來聲明屬性為靜態(tài)變量。該屬性不保存在任何對(duì)象實(shí)例的內(nèi)存空間中,而是保存在類的公共存儲(chǔ)空間中。 定義格式: static String name=“張三”; 其中,name

5、稱為類變量,不用static修飾的域稱為實(shí)例變量。 訪問方式:類變量可以通過類名直接訪問,也可以通過對(duì)象來訪問,兩種方法的結(jié)果是相同的。 如:P=“張三”; (定義一個(gè)對(duì)象后訪問) Person p=new Person(); = “張三”; 注:不能用類名去引用實(shí)例變量。,final(最終域) 被最終域修飾的變量在整個(gè)程序執(zhí)行過程中其值不會(huì)發(fā)生改變。常用來修飾常量。 如:static final double pi=3.14; volatile(易失域) 被volatile修飾的域可能同時(shí)被幾個(gè)線程控制和修改。,訪問控制符,屬性的訪問控制符有三種:public

6、、private、protected。 public 聲明的成員屬性和成員方法可從類外面的任何地方訪問。 而private 數(shù)據(jù)將被隱藏,在類外不可見,這就實(shí)現(xiàn)了數(shù)據(jù)封裝的思想。 要從類外操縱private 成員,只能通過類的public或protected成員來實(shí)現(xiàn)。,方法,方法是類的動(dòng)態(tài)屬性,定義類所具有的功能和操作。定義方式與其他高級(jí)語言類似。 方法是對(duì)象與外界的接口。方法由方法頭和方法體組成。方法體由java語句構(gòu)成。,方法的定義,定義方法的一般格式: access type methodname1(parameter-list) /方法體 ,舉例: public void setda

7、te(int d, int m, int y) day=d; month=m; year=y; ,定義方法注意: 方法名可以是任何合法標(biāo)志符,后面小括號(hào)()是方法的標(biāo)志,不可省略。 方法的返回類型是必需的(構(gòu)造方法除外),如沒有返回值,則必須聲明為void(空)。如有返回值,在方法體中必須有return語句,其后跟上返回值。,方法的修飾符不是必需的,也可分為訪問控制符和非訪問控制符。 形式參數(shù)列表允許將參數(shù)值傳遞給方法,列舉的參數(shù)由逗號(hào)分開,每個(gè)參數(shù)包括一個(gè)類型和一個(gè)標(biāo)志符。如: void f(int x,double y,char z) 方法體由java語句構(gòu)成,通常包括所用到的局部變量的定

8、義和具體的執(zhí)行語句。,方法的修飾符,static 用static修飾的方法稱為靜態(tài)方法,又叫類方法。不用static修飾的方法為實(shí)例方法。類方法本質(zhì)屬于類,只要聲明了類,它的靜態(tài)方法就存在,就可以調(diào)用。實(shí)例方法則必須定義對(duì)象才存在,才可調(diào)用。 如系統(tǒng)類方法:Math.sqrt(15); 類方法不能操縱和處理屬于某個(gè)對(duì)象的成員變量,而只能處理屬于整個(gè)類的成員變量,即static方法只能處理static域或static方法。 調(diào)用類方法時(shí),引用類名直接調(diào)用,也可用具體對(duì)象名。,abstract 用abstract修飾的方法稱為抽象方法。抽象方法是一種只有方法頭、而沒有具體方法的方法。 如:clas

9、s AbstractTest abstract void abstractmethod(); 注意:抽象方法只有方法頭的聲明,用;代替方法體,沒有大括號(hào)。 一個(gè)類含有抽象方法,則此類必須為抽象類,如果抽象類的子類不為抽象類,則子類必須實(shí)現(xiàn)父類的所有抽象方法。,final 用final修飾的方法稱為最終方法。final修飾的方法是不能被子類所重寫的方法。 如:class FinalTest final void setx() ,方法的參數(shù)傳遞,如果定義方法的同時(shí)定義了形式參數(shù),那么在調(diào)用對(duì)象方法時(shí),需要進(jìn)行參數(shù)的傳遞。參數(shù)類型可以是Java語言中的任何合法的數(shù)據(jù)結(jié)構(gòu)。 如:add(int x,d

10、ouble y)/函數(shù)定義 int z; obj.add(4,5.5);/函數(shù)調(diào)用,對(duì)象作為參數(shù),class Test int a,b; Test(int i,int j) a=i; b=j; /可以在函數(shù)中改變對(duì)象狀態(tài) void change(Test obj) obj.a=50; obj.b=40; /t.change(obj); ,當(dāng)對(duì)象作為函數(shù)參數(shù)時(shí),在函數(shù)中只能改變?cè)搶?duì)象的狀態(tài),但不能改變?cè)搶?duì)象的引用,void swapobj(Day x,Day y) Day temp=y; y=x; x=temp; ,改變對(duì)象引用,調(diào)用swapobj(obj1,obj2),改變對(duì)象狀態(tài),對(duì)象成員的

11、訪問,調(diào)用對(duì)象的方法與訪問它的屬性一樣,都是通過點(diǎn)符號(hào)實(shí)現(xiàn)的?;拘问饺缦拢?object.屬性名 object.方法名(arguments),在程序中先定義上面類的一個(gè)實(shí)例:即對(duì)象 創(chuàng)建一個(gè)對(duì)象 Hello obj=new Hello(); 訪問屬性 obj.s=“Student”; 訪問方法 obj.changeString(“Student”); obj.showString();,有錯(cuò)誤,無訪問權(quán)限,構(gòu)造函數(shù),構(gòu)造函數(shù)的作用是在創(chuàng)建對(duì)象時(shí)初始化其內(nèi)部屬性值。 構(gòu)造函數(shù)名稱與類名稱相同,構(gòu)造函數(shù)沒有返回類型。 構(gòu)造函數(shù)不能顯示調(diào)用,需用new運(yùn)算符來調(diào)用。 注意,如果在類中沒定義構(gòu)造函數(shù)

12、,系統(tǒng)會(huì)自動(dòng)生成一個(gè)默認(rèn)的構(gòu)造函數(shù)。,class Person String name; Boolean sex; int age; Person(String n,Boolean s,int a) name = n; sex = s; age = a; ,創(chuàng)建對(duì)象,使用下列語法可創(chuàng)建對(duì)象: 類名 對(duì)象名=new 構(gòu)造方法(參數(shù)) 關(guān)鍵字 new 通常稱為創(chuàng)建運(yùn)算符,用于分配對(duì)象內(nèi)存,并將該內(nèi)存初始化為缺省值。 一旦 new 完成分配和初始化內(nèi)存,它就將調(diào)用構(gòu)造函數(shù)來執(zhí)行對(duì)象初始化。,當(dāng)創(chuàng)建一個(gè)類時(shí),只是創(chuàng)建了一種新的數(shù)據(jù)類型。而對(duì)象是類的一個(gè)實(shí)例。,class PersonDemo publ

13、ic static void main(String args) Person p = new Person(“張三”,“男”,20); ,創(chuàng)建對(duì)象,p1,p2,27,30,p3,王 五,注意:對(duì)象名是一個(gè)引用。如:,. . . Person p1 = new Person(“張三”,“男”,20); Person p2 = new Person(“李四”,“女”,25); Person p3; p3=p1; p1.age=28; p2.age=30; =“王五”; p1.display();p2.display();p3.display(); . . .,垃圾回收,使用new運(yùn)

14、算符可以將空閑內(nèi)存空間分配給對(duì)象,但內(nèi)存并不是無限的,因此,new可能會(huì)因?yàn)闆]有足夠空間分配給對(duì)象而導(dǎo)致失敗。因此,當(dāng)不再需要一個(gè)對(duì)象時(shí),就應(yīng)該釋放該對(duì)象所占用的空間。 Java的垃圾回收系統(tǒng)會(huì)自動(dòng)回收無用對(duì)象所占用的內(nèi)存,無須程序員的干預(yù)。 有時(shí)當(dāng)垃圾回收系統(tǒng)銷毀一個(gè)對(duì)象時(shí),還需要完成一些操作,java提供了一個(gè)名為finalize()方法,可將這些釋放資源的操作寫到該方法中。,方法重載(overloading),方法重載是Java語言實(shí)現(xiàn)面向?qū)ο蠖鄳B(tài)性的方法之一。 同一個(gè)類中多個(gè)方法有相同的名字,不同的參數(shù)列表,這種情況稱為方法重載。 注意:僅僅是返回類型不同并不足以構(gòu)成方法重載。 當(dāng)重載

15、方法被調(diào)用時(shí),編譯器根據(jù)參數(shù)的類型和數(shù)量來確定實(shí)際調(diào)用不同的方法。,class Calculation public void add( int a, int b) int c = a + b; System.out.println(兩個(gè)整數(shù)相加得 + c); public void add( float a, float b) float c = a + b; System.out.println(兩個(gè)浮點(diǎn)數(shù)相加得+c); public void add( String a, String b) String c = a + b; System.out.println(兩個(gè)字符串相加得 +

16、c); ,class CalculationDemo public static void main(String args) Calculation c = new Calculation(); c.add(10,20); c.add(40.0F, 35.65F); c.add(早上, 好); ,編譯器決定調(diào)用版本,構(gòu)造函數(shù)的重載,Java 為每一個(gè)類自動(dòng)提供缺省構(gòu)造函數(shù)。 如:Person() 缺省構(gòu)造函數(shù)將成員變量的值初始化為缺省值。 特別注意:一旦創(chuàng)建了自己的構(gòu)造函數(shù),缺省的構(gòu)造函數(shù)將不復(fù)存在。 構(gòu)造函數(shù)同樣可以重載。重載構(gòu)造函數(shù)可以提供了一組創(chuàng)建對(duì)象的方式,可以根據(jù)需要決定是否帶初始

17、參數(shù)。,class Person String name; Boolean sex; int age; Person(String n,Boolean s,int a) name = n; sex = s; age = a; Person() Person(String n) name = n; ,Person p1=new Person(); Person p2=new Person(“張三”); Person p3=new Person(“張三”,true,25);,對(duì)象數(shù)組,類也是一種數(shù)據(jù)類型,因此也可以創(chuàng)建類類型的數(shù)組對(duì)象數(shù)組,即數(shù)組中存放的元素都是某類的對(duì)象。 對(duì)象數(shù)組的創(chuàng)建與普通數(shù)

18、組創(chuàng)建格式類似,但對(duì)象名是引用,因此創(chuàng)建語法有所不同。,. . . Person p = new Person3; Person p0 = new Person(“張三”,“男”,20); Person p1= new Person(“李四”,“女”,25); Person p2= new Person(“王五”,“女”,22); for(int i=0;ip.length;p+) pi.display(); . . .,this引用,public class PassTest int x; PassTest(int x) this.x=x; public void passingValue(

19、) System.out.println(“x 等于 +x); public static void main(String args) PassTest test = new PassTest(10); test.passingValue(); ,關(guān)鍵字 this 用于指 示當(dāng)前對(duì)象,指明此對(duì)象的屬性 x 應(yīng)賦值為通過構(gòu)造函數(shù)傳遞的形參x 的值。,字符串的基本輸入,System.in,InputStreamReader,BufferedReaderder,字節(jié)流對(duì)象,可從輸入端接收一個(gè)字節(jié) 字符流,可以從輸入端接收一個(gè)字符 緩沖流可以從緩沖區(qū)接受一個(gè)字符串,/System.in 對(duì)象 cha

20、r c=(char)System.in.read(); InputStreamReader m=new InputStreamReader(System.in); char c=(char)m.read(); BufferedReader in= new BufferedReader(m); String s=in.readLine();,數(shù)據(jù)的輸入,Java程序不能直接從鍵盤接受整型數(shù),浮點(diǎn)數(shù)等Java的基本類型,只能直接接受字符或者字符串,如果讀取整數(shù)等類型,需要進(jìn)行類型轉(zhuǎn)換。,. . . s=in.readLine(); double f = Double.parseDouble(s);

21、 /int i=Integer.parseInt(s); . . .,繼承,從現(xiàn)有類派生出新類,稱為繼承。通過繼承,可以實(shí)現(xiàn)源代碼級(jí)的復(fù)用,提高程序的可維護(hù)性。 其中被繼承的類稱為父類,派生得到的類稱為子類。 執(zhí)行繼承時(shí),子類將獲得父類的屬性和行為,并具有自身特有的屬性和行為,java語言不支持多重繼承。,繼承是面向?qū)ο缶幊碳夹g(shù)的一塊基石,它允許創(chuàng)建分等級(jí)層次的類。,職員類,工人類,繼承了 父類的姓名等屬性,干部類,還包含 級(jí)別等新的屬性和功能,Animal類: -leg -kind Animal() eat() move() getLegs() setLegs(),Fish: Fish(),

22、Bird: Bird(),Lion: Lion(),Ostrich: Ostrich() hideHead(),多層次類結(jié)構(gòu),繼承的實(shí)現(xiàn),繼承通過關(guān)鍵字extends聲明。聲明一個(gè)繼承父類的類的通常形式如下: class subclass-name extends superclass-name /類體 ,注意,如省略extends,默認(rèn)父類為Object類 只能有一個(gè)直接父類,即單繼承 子類繼承父類的全部成員,繼承示例,class Employee String name; /姓名 char sex; /性別 Employee(String n, char s) name = n; sex

23、= s; public String getName() return name; public char getSex() return sex; ,class Officer extends Employee char grade;/級(jí)別 String profession; /職稱 Officer(String n,char s,char g,String p) name=n;sex=s; grade= g; profession = p; public char getGrade()return grade; public boolean getProfession() return

24、profession; public void manage()System.out.println(“管理工人?!?; ,class InheDemo public static void main(String args) Officer w = new Officer(“M.John”,M,B,“高級(jí)”); System.out.println(“員工信息); System.out.println(姓名 : +w.getName(); System.out.println(性別 : +w.getSex(); System.out.println(“級(jí)別 : +w.getgrade();

25、System.out.println(“職稱 :+w.getProfession(); w.manage(); ,成員的訪問與繼承,class A int i,j; void showij() System.out.println(”i=”+i+”,j=”+j); ,class B extends A int k; void showk() System.out.println(”k=”+k); void sum() System.out.println(”sum=”+i+j+k); ,class Demo public static void main(String args) A obj1

26、=new A(); B obj2=new B(); obj1.i=1;obj1.j=2; obj1.showij(); obj2.i=3;obj2.j=4;obj3.k=5; obj2.showij();obj2.showk(); obj2.sum(); ,改成私有private,super引用,super有兩種使用形式:一是調(diào)用父類的構(gòu)造函 數(shù),二是用來訪問被子類的成員覆蓋的父類成 員。 調(diào)用父類構(gòu)造函數(shù)形式:super(); 其中,方法名稱換成super,參數(shù)跟父類構(gòu)造函數(shù)參數(shù)一致,注意super必須是在子類構(gòu)造函數(shù)中的第一個(gè)執(zhí)行語句。而且,子類構(gòu)造函數(shù)中如果沒有super()語句,系統(tǒng)會(huì)

27、自動(dòng)加上一條super()的調(diào)用。 構(gòu)造函數(shù)的調(diào)用,是按照繼承的順序,從超類到子類進(jìn)行的。,訪問被子類的成員覆蓋的父類成員。,class A int i; void show() System.out.println(”i=”+i); class B extends A int i; void show() System.out.println(”i=”+i+“父類中的i”+super.i); ,方法覆蓋,方法覆蓋是Java語言實(shí)現(xiàn)多態(tài)性機(jī)制的另一種方式,也稱方法的重寫。 在類層次結(jié)構(gòu)中,如果子類中的一個(gè)方法與父類中的方法有相同的方法名并具有相同數(shù)量和類型的參數(shù)列表,這種情況稱為方法覆蓋。 當(dāng)

28、一個(gè)覆蓋方法通過父類引用被調(diào)用時(shí),Java語言根據(jù)當(dāng)前被引用對(duì)象的類型來決定執(zhí)行哪個(gè)版本的方法。 可以通過super關(guān)鍵字調(diào)用直接父類中覆蓋的方法。,class A double f(int x,doubl y) . class B extends A double f(int x,doubl y) . ,多態(tài),多態(tài)就是一個(gè)類有其他的表示方式,但彼此之間必須是繼承的關(guān)系,多態(tài)能夠?qū)崿F(xiàn)動(dòng)態(tài)方法分配。,Animal類: -leg -kind Animal() eat() move() getLegs() setLegs(),Fish: Fish() move(),Bird: Bird() move

29、(),Lion: Lion(),Ostrich: Ostrich() move() hideHead,注意: 1.不管用哪種引用表示對(duì)象,歸根到底表示的是實(shí)例化時(shí)所生成的對(duì)象。 2.當(dāng)把某對(duì)象用其他引用表示時(shí),則只能使用該引用所提供的屬性和方法。 3.如父類有方法被子類重寫,則以父類引用調(diào)用該方法時(shí),會(huì)執(zhí)行子類的方法。,方法覆蓋示例,class A int i,j; void show() System.out.println(”i=”+i+”,j=”+j); class B extends A int k; void show() System.out.println(”i=”+i+”,j=

30、”+j+”,k=”+k); ,class InheDemo public static void main(String args) A obj1=new A(); A obj2=new B(); B obj3=new B(); obj1.show(); obj2.show(); obj3.show(); ,抽象類,超類中只定義了讓所有子類共享的抽象方法,具體的細(xì)節(jié)需要子類去實(shí)現(xiàn),這樣的超類很抽象,稱為抽象類。 注意,抽象類不能實(shí)例化對(duì)象。(但可以有構(gòu)造函數(shù)) 當(dāng)子類繼承一個(gè)抽象類時(shí),它必須重寫父類的所有抽象方法,否則,子類也必須定義為抽象類。,abstract class Employee

31、int basic = 2000; abstract void salary();/抽象方法 class Manager extends Employee void salary() System.out.println(薪資等于 +basic*5); class Worker extends Employee void salary() System.out.println(薪資等于 +basic*2); ,在子類中提供實(shí)現(xiàn),在子類中提供實(shí)現(xiàn),抽象方法沒有方法主體,接口,Java 程序一次只能繼承一個(gè)類。如果想實(shí)現(xiàn)多繼承可以通過接口實(shí)現(xiàn)。 接口是一種特殊的類,接口不能有任何具體的方法,必須全

32、是抽象方法;在接口中也可以聲明變量,但必須是常量類型。接口可以通過關(guān)鍵字interface定義。 通過接口可以實(shí)現(xiàn)不相關(guān)類的相同行為,而不需考慮這些類之間的層次關(guān)系。,接口的定義,/ 含抽象方法的接口 interface myinterface abstract int add(int x, int y); abstract void volume(int x,int y, int z); / 定義包含常量的接口 interface myconstants public static final double price = 1450.00; public static final int c

33、ounter = 5; ,定義一個(gè)接口:,實(shí)現(xiàn)接口,用關(guān)鍵字 implements 實(shí)現(xiàn)接口,例如: class demo implements myinterface 在類中對(duì)接口里面的方法進(jìn)行重寫(實(shí)現(xiàn)) 即可 如果有一個(gè)以上接口的被實(shí)現(xiàn),則用逗號(hào)隔開接口名稱,如下所示: class demo implements Mycalc, Mycount,接口使用示例,interface A double g=9.8; void show( ); ,class InterfaceTest public static void main(String args ) B b=new B( ); b.s

34、how( ); ,class B implements A public void show( ) System.out.println(“g=“+g); ,省略修飾符,接口引用,接口不能包含構(gòu)造函數(shù),也就是說,接口不能實(shí)例化對(duì)象。但可以用接口名去引用一個(gè)對(duì)象,該對(duì)象必須是由實(shí)現(xiàn)了接口的類所實(shí)例化的對(duì)象。,interface A double f(int x,doubl y); class B implements A double f(int x,doubl y) . ,B obj1=new B(); A obj2=new B(); obj1.f(1,2); obj2.f(3,4);,包,包

35、是類、接口和子包的集合,利用包可以把常用的類或功能相似的類放在一個(gè)包中,就像在文件夾中,使類的管理更清晰。 包是一種松散的類集合,一般不要求處于同一個(gè)包中的類有明確的相互關(guān)系,如包含、繼承等。 包也稱為類庫。,建立包,創(chuàng)建一個(gè)包的語法: package 包名; 如果java源文件省略了package語句,在該文件中所有類被包含在一個(gè)默認(rèn)的沒有名稱的包中。 在java中,可以創(chuàng)建一個(gè)多層次包,只要在每個(gè)包與上層包之間用“.”分隔開,如下所示: package pkg1.pkg2.pkg3; 在創(chuàng)建包后還需要在操作系統(tǒng)當(dāng)前目錄下創(chuàng)建一個(gè)與該包匹配的文件夾結(jié)構(gòu)。,導(dǎo)入包,導(dǎo)入一個(gè)包的語法: import 包名.*; 導(dǎo)入一個(gè)包時(shí),應(yīng)使用包名稱加類名稱的形式。如引入上例中的pkg3中的類,可寫入以下語句: import pkg1.pkg2.pgk3.類名; 為了在任何地方都可使用的自定義的包,可將當(dāng)前存放自定義包的目錄加到classpath中。,訪問控制符,Java語言提供的訪問控制符范圍 同一個(gè)類 同一個(gè)包 不同包的子類 不同包的非子類 Java語言的訪問控制符有 public 公共訪問控制符 priv

溫馨提示

  • 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)論