第3講類與對象_第1頁
第3講類與對象_第2頁
第3講類與對象_第3頁
第3講類與對象_第4頁
第3講類與對象_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、Java程序設計(SP3002)講述人:林若欽軟件工程系第3講 類與對象qOOP簡述q類與對象的關系q類的組成q對象的創(chuàng)建與使用q對象重構qthis關鍵字q靜態(tài)關鍵字staticq對象的進一步討論q包Java程序設計(SP3002)21.面向?qū)ο缶幊膛c面向過程編程的比較面向?qū)ο缶幊膛c面向過程編程的比較面向過程:面向過程:強調(diào)處理問題的過程。開始順序,階段結(jié)束面向?qū)ο螅好嫦驅(qū)ο螅豪脤ο箝g的消息傳遞來驅(qū)動程序的執(zhí)行。對象0對象1對象2對象3對象5對象4優(yōu)點:真實表現(xiàn)客觀世界,對象間的關系清晰,對象間的消息處理高效。不足之處:代碼難修和復用,無法真實描繪客觀世界。Java程序設計(SP3002)3

2、2. 類與對象的關系類與對象類與對象是面向?qū)ο蟪绦蛟O計中核心的概念,下面舉例是面向?qū)ο蟪绦蛟O計中核心的概念,下面舉例說明:說明:8:00:008:00:0010:30:0010:30:0019:00:0019:00:00 時間類:時間類:TimeTime成員變量:時、分、秒,成員變量:時、分、秒,表示屬性。表示屬性。成員方法:設置時間、成員方法:設置時間、輸出時間等,所實現(xiàn)的功能輸出時間等,所實現(xiàn)的功能右邊的各時點表示的是某一具體時間,而左邊的時間類Time表示的則是對時間的一般描述。Java程序設計(SP3002)4由上可知,類與對象之間的關系如下:l 類是對象的抽象類是對象的抽象(代表了同

3、一批對象的共性與特征);l 對象是類的具體實例對象是類的具體實例(不同對象之間還存在著差異);l 同一個類可以定義多個對象同一個類可以定義多個對象(一對多關系)。汽車Java程序設計(SP3002)5類的組成類的概念類的概念類:是一種抽象的數(shù)據(jù)類型,是一類事物經(jīng)過抽象,所共有屬性的集合,它是Java程序的基本組成要素,類是用來定義對象的模板。包括兩方面內(nèi)容:n成員變量:描述對象的屬性、狀態(tài)n成員方法:描述對象的行為、功能例如:現(xiàn)實世界中的實體學生數(shù)據(jù)描述:姓名、學號 、性別、出生年月、專業(yè)、籍貫等;行為描述:設置、修改相關屬性值,輸出學生信息等。Java程序設計(SP3002)6類的聲明類的聲

4、明修飾符 class class 類名類名 extendsextends 父類名 implementsimplements 接口名/ 類體開始成員變量的聲明;/ 描述屬性成員方法的聲明;/ 描述功能/ 類體結(jié)束說明:說明:nclass是聲明類的關鍵字,不能省略;n類名要“見名知意”,多為英文單詞的連寫,如:Student、StudentTest等,一般不使用A、B、C等名字;n類名首字母要大寫,后面各單詞的首字母也要大寫。Java程序設計(SP3002)7/聲明時間類聲明時間類class Timeprivate int hour;/小時數(shù)小時數(shù): 0-23private int minute;

5、/分鐘數(shù)分鐘數(shù): 0-59private int second;/秒鐘數(shù)秒鐘數(shù): 0-59public Time()/構造方法構造方法,又稱構造器又稱構造器hour=0;minute=0;second=0;public void setTime(int hh, int mm, int ss)/設置時間的方法設置時間的方法,又稱設置器又稱設置器hour=(hh=0 & hh=0 & hh=0 & ss=0 & hh=0 & hh=0 & ss=0 & hh=0 & hh=0 & ss=59)? ss: 0);public S

6、tring toString()/輸出時間輸出時間return (hour+:+minute+:+second);Java程序設計(SP3002)13構造方法n構造方法(Constructor,又稱構造函數(shù)、構造器),它是類聲明中的一個特殊方法,其作用是對創(chuàng)建的新對象進行初始化工作。n要求:Java程序設計(SP3002)14構造方法(續(xù))n格式:修飾符類名(參數(shù),參數(shù),參數(shù)n) 屬性參數(shù); 屬性2參數(shù)2; 屬性n參數(shù)n;注意:若無參數(shù),通常給屬性賦常量Java程序設計(SP3002)15例如:例如:Time類的構造器類的構造器public Time()/構造方法構造方法,又稱構造器又稱構造器

7、hour=0;minute=0;second=0;3.4.2 封裝n概念:把數(shù)據(jù)和行為結(jié)合在一個塊中,對于對象的使用者隱藏了數(shù)據(jù)的實現(xiàn)過程,對象的使用者只能通過特定的方法訪問對象的成員變量。即相當于一個“黑箱”,只要知道對象的輸出數(shù)據(jù)和輸入數(shù)據(jù),而不必關心數(shù)據(jù)的內(nèi)部具體實現(xiàn)流程。Java程序設計(SP3002)16電視機的電視機的按鍵按鍵電視機采用電視機采用“外殼外殼”進行進行封裝,使得元器件不會暴封裝,使得元器件不會暴露在大眾的視野之中,用露在大眾的視野之中,用戶只能通過有關的按鍵或戶只能通過有關的按鍵或遙控器來控制電視機。遙控器來控制電視機。 Java通過將成員變量聲明為private權限

8、,再提供一個或多個public權限的方法來實現(xiàn)對該屬性的操作,以實現(xiàn)以下目的:n隱藏一個類的實現(xiàn)細節(jié);n使用者只能通過事先定制好的方法來訪問數(shù)據(jù),可以方便地加入控制邏輯,限制對屬性的不合理操作;n便于修改,增強代碼的可維護性。Java程序設計(SP3002)17訪問器n是以get開頭的方法,只是查看對象的狀態(tài),并沒有改變對象的任何狀態(tài);n特點:n方法聲明部分有返回值類型;n該方法不帶參數(shù);n方法體內(nèi)有返回語句。設置器n是以set開頭的方法,是修改對象某種狀態(tài)的方法;n特點:n方法返回類型為void,也即說不返回類型;n該方法至少帶有一個參數(shù);n方法體內(nèi)肯定有賦值語句。Java程序設計(SP30

9、02)18用用UML(統(tǒng)一建模語言的簡稱統(tǒng)一建模語言的簡稱)圖表示類圖表示類Time - hour : int- minute : int- second : int+ Time()+ setTime(int hh, int mm, int ss): void+ toString() : String類名類名成員變量成員變量成員方法成員方法+ +:publicpublic型型- -:privateprivate型型# #:protectedprotected型型Java程序設計(SP3002)19實例:class Student private String strName = ;/學生姓名學

10、生姓名private String strNumber = ;/學號學號private String strSex = ;/性別性別private String strBirthday = ;/出生年月出生年月private String strSpeciality = ;/專業(yè)專業(yè)private String strAddress = ;/地址地址public Student(String name, String number)strName = name;strNumber = number;public String getStudentName() return strName;Ja

11、va程序設計(SP3002)20public void setStudentSex(String sex)strSex = sex;public String getStudentSex()return strSex;public String getStudentBirthday()return strBirthday;public void setStudentBirthday(String birthday)strBirthday = birthday;public String getStudentSpeciality()return strSpeciality;public void

12、 setStudentSpeciality(String speciality)strSpeciality = speciality;Java程序設計(SP3002)21public String getStudentAddress()return strAddress;public void setStudentAddress(String address)strAddress = address;public String toString()String information = 學生姓名學生姓名= + strName + , 學號學號= + strNumber; if( !strSe

13、x.equals() )information += , 性別性別= + strSex;if( !strBirthday.equals()information += , 出生年月出生年月= + strBirthday;if( !strSpeciality.equals() )information += , 專業(yè)專業(yè)= + strSpeciality;if( !strAddress.equals() )information += , 籍貫籍貫= + strAddress;return information;Java程序設計(SP3002)22對象的創(chuàng)建與使用對象的創(chuàng)建與使用對象有兩個層次

14、的概念:n 現(xiàn)實生活中對象指的是客觀世界的實體;n 程序中對象就是一組變量和相關方法的集合,其中變量表明對象的狀態(tài),方法表明對象所具有的行為。變量變量方法方法對象的三個主要特征:對象的行為、對象的狀態(tài)、對象對象的三個主要特征:對象的行為、對象的狀態(tài)、對象的標識符。的標識符。Java程序設計(SP3002)23對象句柄對象句柄n概念:操縱對象的標識符,它是指向一個對象的句柄。這是操縱對象類型變量的唯一方式。n注意:對象句柄是一個變量名,它分配在棧中。而對象是通過new關鍵字創(chuàng)建的,在堆中分配存儲空間。由此可見,對象句柄不同于對象。兩者之間的聯(lián)系是把對象的首地址賦給對象句柄,從而實現(xiàn)對象句柄對對象

15、的控制。Java程序設計(SP3002)24對象句柄對象句柄(續(xù)續(xù))n例如:Time t1; / 只是聲明了一個對象句柄,但它不指向任何對象。而 Time t2=new Time( ) ; /創(chuàng)建了一個對象,并由對象句柄t2來操縱它。對象的創(chuàng)建對象的創(chuàng)建n格式:類名類名 對象句柄 = new 類名類名( 參數(shù)表);或類名類名 對象句柄;對象句柄 = new 類名類名( 參數(shù)表);Java程序設計(SP3002)25對象的創(chuàng)建對象的創(chuàng)建(續(xù)續(xù))程序開始執(zhí)行時內(nèi)存狀態(tài)程序開始執(zhí)行時內(nèi)存狀態(tài)棧內(nèi)存棧內(nèi)存堆內(nèi)存堆內(nèi)存mainmainJava程序設計(SP3002)26對象的創(chuàng)建對象的創(chuàng)建(續(xù)續(xù))n例如

16、: Time t1=new Time( ) ; /自動調(diào)用構造方法main棧內(nèi)存堆內(nèi)存內(nèi)存狀態(tài)354752t1000Java程序設計(SP3002)27對象的使用對象的使用n格式:對象名對象名. 成員變量成員變量對象名對象名.成員方法成員方法( 參數(shù)表參數(shù)表)不過,要注意是否擁有這樣的訪問權限/TimeTest類類public class TimeTest public static void main(String args)Time t1=new Time();System.out.println(時間時間: +t1.toString();t1.setTime(19,0,0);System

17、.out.println(時間時間: +t1.toString();Java程序設計(SP3002)28練習nWrite a program to input the length and width of a rectangle and calculate and print the perimeter and area of the rectangleJava程序設計(SP3002)29Java程序設計(SP3002)30方法重載方法重載含義:是指多個方法有相同的名字,但這些方法在參數(shù)上(包括參數(shù)類型、參數(shù)個數(shù)及參數(shù)次序方面)存在著差異。/方法重載的例子方法重載的例子class OverL

18、oadpublic void display(int a, int b)/兩個參數(shù)兩個參數(shù),均為均為int型型System.out.println(a);System.out.println(b);public void display(int a, char c)/兩個參數(shù)兩個參數(shù),一個為一個為int型型,另一個為另一個為char型型System.out.println(a);System.out.println(c);Java程序設計(SP3002)31public void display(char c, int a)/兩個參數(shù)兩個參數(shù),一個為一個為char型型,另一個為另一個為int型

19、型System.out.println(c);System.out.println(a);public void display(int a, int b, char c)/三個參數(shù)三個參數(shù),兩個為兩個為int型型,第三個為第三個為char型型System.out.println(a);System.out.println(b);System.out.println(c);public class OverLoadTest public static void main(String args)OverLoad ol=new OverLoad();ol.display(2007,5);ol.d

20、isplay(2007, x);ol.display(x, 2007);ol.display(2007,5,x);程序運行結(jié)果:程序運行結(jié)果:200720075 520072007x xx x20072007200720075 5x xJava程序設計(SP3002)32Java中把方法名和參數(shù)類型( 不包含返回值)稱為型構,上例中的方法型構有4種,即:display(int, int)、display(int, char)、display(char, int)、display(int, int, char)調(diào)用時,Java編譯器會根據(jù)方法的實參,自動找到與這種型構匹配的方法來執(zhí)行。構造方法重

21、載構造方法重載一個類可以擁有多個構造方法,從而可以根據(jù)需要以不同的方式來初始化對象。例如:學生類中可以有3個不同的構造方法:Student( )、Student(String name)、Student(String name, String number)類似這樣的構造方法重載在類似這樣的構造方法重載在Java 的類庫中是很常見的。的類庫中是很常見的。Java程序設計(SP3002)33默認構造方法默認構造方法(即無參數(shù)的構造方法)請注意以下兩點:n在一個類中,如果沒有構造方法,系統(tǒng)將會自動提供一個空的構造方法,以構造類的對象。例如:系統(tǒng)會自動提供一個系統(tǒng)會自動提供一個默認構造方法默認構造方

22、法: :public Garden()public Garden() Java程序設計(SP3002)34n一個類中,如果已經(jīng)有了構造器,系統(tǒng)就不再提供一個空的構造方法。例如:系統(tǒng)不會提供默認構造方法系統(tǒng)不會提供默認構造方法: :public Student()public Student() 假若需要,則應顯式聲明假若需要,則應顯式聲明Java程序設計(SP3002)35this關鍵字this關鍵字表示是“當前對象”,當出現(xiàn)在類的實例方法中,代表使用該方法的對象;出現(xiàn)在類的構造方法中,代表使用該構造方法創(chuàng)建的對象。事實上,當成員變量出現(xiàn)在方法中,默認的格式是:this.this.成員變量成員

23、變量。class Hiint a;void setA(int b)a=b;int getA( )return a;等同于class Hiint a;void setA(int b)this.a=b;int getA( )return this.a;Java程序設計(SP3002)36在下列三種情況下,必須使用this關鍵字:n方法的形式參數(shù)與類的成員變量同名;class PersonString name;int age;public Person(String name, int age)=name;this.age=age;n一個類中的構造器調(diào)用同一個類中的另一個構造器;

24、調(diào)用的方法: this(參數(shù)列表) /構造器的第一條語句Java程序設計(SP3002)37class PersonString name;int age;public Person(String name)=name;public Person(String name, int age)this(name);/構造器的第一條語句this.age=age;n假設有一個容器類和一個組件類,在容器類的某個方法中要創(chuàng)建組件類的實例對象,而組件類的構造方法要接收一個代表其所在容器的參數(shù)(這種模型在事件處理中很常見)。Java程序設計(SP3002)38class Container/

25、容器類容器類Component comp;public void addComponent()comp=new Component(this) ;/將this作為對象引用傳遞class Component/組件類組件類Container mycontainer;public Componet(Container c)mycontainer=c ;Java程序設計(SP3002)393. 靜態(tài)關鍵字static 前面,我們介紹了對象的成員變量和成員方法內(nèi)容,它們都與對象密切相關:不同的對象各自為成員變量分配內(nèi)存空間,只有第一個對象創(chuàng)建后才為各成員方法分配入口地址,以后創(chuàng)建的對象就共享這一入口地址

26、。class PersonString name;/實例變量int age;/實例變量public void setAge(int age)/實例方法this.age=age;public int getAge()/實例方法return age;int count; /int count; /統(tǒng)計人數(shù)統(tǒng)計人數(shù)不屬于某一不屬于某一對象私有對象私有Java程序設計(SP3002)40靜態(tài)成員 在成員變量、成員方法的前面加上static關鍵字,表明該變量、該方法是屬于類的,故稱為類變量或類方法。若無static修飾,則是實例變量或?qū)嵗?方法。staticstatic 成員變量; /靜態(tài)變量stati

27、cstatic 成員方法; /靜態(tài)方法說明:說明:n靜態(tài)成員屬于類所有,不屬于某一具體對象私有;n靜態(tài)成員隨類加載時被靜態(tài)地分配內(nèi)存空間、方法的入口地址,通常通過 類名類名.靜態(tài)成員靜態(tài)成員 方式訪問。Java程序設計(SP3002)413.2 靜態(tài)變量(類變量) 創(chuàng)建一個類的多個對象時,每個對象不會為靜態(tài)變量各自分配空間,而是多個對象共享一個靜態(tài)變量所占有的內(nèi)存空間,因此,類的任何一個具體對象的訪問靜態(tài)變量取得都是相同的值;任何一個對象去修改靜態(tài)變量時,都是對同一內(nèi)存單元進行操作。class PersonString name;int age;static int count; /靜態(tài)變量靜

28、態(tài)變量public Person(String name, int age)=name;this.age=age;count+; 對象對象1 1非類變量非類變量 對象對象3 3 非類變量非類變量 對象對象4 4 非類變量非類變量靜態(tài)變量靜態(tài)變量 對象對象2 2 非類變量非類變量Java程序設計(SP3002)42StudentTest2.javaclass Student private static int nextNumber=1; /靜態(tài)變量public void setStudentNumber()number=nextNumber;nextNumber+;類變量所占

29、的內(nèi)存空間是在程序退出時才釋放類變量所占的內(nèi)存空間是在程序退出時才釋放;加上加上final關鍵字后的靜態(tài)變量就成了靜態(tài)常量,如關鍵字后的靜態(tài)變量就成了靜態(tài)常量,如System.out。類變量的訪問方式類變量的訪問方式: n類內(nèi):直接訪問n類外:類名.靜態(tài)變量 (前提條件:public權限)Java程序設計(SP3002)43靜態(tài)方法(即類方法)n 調(diào)用格式:n 1 類名.類方法名(實參列表); /推薦使用 n2 對象名.類方法名(實參列表) ;靜態(tài)方法主要是操作類變量,在使用時要注意以下幾點:n而靜態(tài)方法只能訪問該類的類成員變量和類方法,不能直接訪而靜態(tài)方法只能訪問該類的類成員變量和類方法,不

30、能直接訪問實例的成員變量和方法;問實例的成員變量和方法;n同一個類的實例方法和靜態(tài)方法,可以訪問該類的靜態(tài)變量和同一個類的實例方法和靜態(tài)方法,可以訪問該類的靜態(tài)變量和靜態(tài)方法。靜態(tài)方法。Java程序設計(SP3002)44不正確的引用class StaticError String mystring=“hello”; public static void main(String args) System.out.println(mystring); 編譯時錯誤信息:編譯時錯誤信息:無法從靜態(tài)上下文中引用非靜態(tài)無法從靜態(tài)上下文中引用非靜態(tài) 變量變量 mystring System.out.pri

31、ntln(mystring); 問題:出錯的原因是什么?問題:出錯的原因是什么?Java程序設計(SP3002)45兩種解決的辦法/1.將變量改成將變量改成靜態(tài)靜態(tài)變量變量class NoStaticError static String mystring=“hello”; public static void main(String args) System.out.println(mystring); /2.先創(chuàng)建一個類的實例對象先創(chuàng)建一個類的實例對象class NoStaticError String mystring=“hello”; public static void main(S

32、tring args) NoStaticError noError = new NoStaticError(); System.out.println(noError.mystring); Java程序設計(SP3002)46main() 方法n是一個靜態(tài)方法,一個類最多只能有一個main();nmain()的執(zhí)行是在類加載之后進行,此時不存在任何對象。只有在執(zhí)行main()之后,才創(chuàng)建所需要的對象;n每一個類都可以有一個main(),這是對類進行單元測試的一個很方便的技巧。在在Java中,有些類的對象不是用中,有些類的對象不是用new關鍵字生成,而是通過調(diào)用一關鍵字生成,而是通過調(diào)用一些類的

33、靜態(tài)方法來生成,這稱為工廠方法。例如:些類的靜態(tài)方法來生成,這稱為工廠方法。例如:Calendar calendar=Calendar.getInstance();Java程序設計(SP3002)47static塊的使用nstatic塊會在類被加載的時候執(zhí)行且僅會被執(zhí)行一次僅會被執(zhí)行一次,一般用來初始化靜態(tài)變量和調(diào)用靜態(tài)方法。class Person String name; public Person(String name) =name; /靜態(tài)塊靜態(tài)塊 static System.out.println(static語句塊執(zhí)行語句塊執(zhí)行); public class t

34、est public static void main(String args) Person p1=new Person(張三張三 ); Person p2=new Person(李四李四 ); Person p3=new Person(王五王五 ); 不管構建多少次不管構建多少次Person類的對象實類的對象實例,例,static都會被都會被執(zhí)行且只執(zhí)行一次。執(zhí)行且只執(zhí)行一次。所以會輸出一次所以會輸出一次“static語句塊被執(zhí)語句塊被執(zhí)行行”Java程序設計(SP3002)48static塊的使用n如果當一個類中有多個static的時候,按照static的定義順序,從前往后從前往后執(zhí)行,

35、而且先執(zhí)行完static語句塊的內(nèi)容,才會執(zhí)行調(diào)用語句。public class test static System.out.println(1); static System.out.println(2); public static void main(String args) System.out.println(5); static System.out.println(3); static System.out.println(4); 程序的運行結(jié)果為:程序的運行結(jié)果為:輸出輸出1,2,3,4,5Java程序設計(SP3002)49靜態(tài)引入(JDK.以后)nJDK1.5 以后新增加

36、一種靜態(tài)導入語法,用來導入指定類的某個靜態(tài)屬性值或全部靜態(tài)屬性值。靜態(tài)導入語句使用 import static 語句,分別用于導入指定類的單個靜態(tài)屬性和全部靜態(tài)屬性。import static java.lang.System.*;import static java.lang.Math.*;public classStaticImportpublic static void main(String args)/ out 是是 java.lang.System 類的靜態(tài)屬性,代表標準輸出類的靜態(tài)屬性,代表標準輸出/ PI 是是 java.lang.Math 類的靜態(tài)屬性,表示類的靜態(tài)屬性,表示

37、 常量常量out.println(PI); Java程序設計(SP3002)50對象的進一步討論對象的進一步討論對象賦值對象賦值Date now; /定義對象句柄棧內(nèi)存棧內(nèi)存堆內(nèi)存堆內(nèi)存now.getTime(); /錯誤,未指向?qū)ο髇ow=new Date(); /正確,創(chuàng)建一介記錄系統(tǒng)當前時間的對象,并由now對象句柄來操縱Date then=new Date(); /創(chuàng)建另一個對象,它們時間值不同now=then; /now和then同時指向第二個創(chuàng)建的對象,而第一個對象沒有了對象句柄,成為垃圾。now日期對象日期對象1 1then日期對象日期對象2 2成為垃圾,成為垃圾,將由垃圾收將由

38、垃圾收集器回收集器回收Java程序設計(SP3002)51匿名對象匿名對象n不定義對象句柄,直接用創(chuàng)建的對象調(diào)用方法,例如:new Date( ).getTime( )。n匿名對象執(zhí)行完方法成為垃圾。n適用場合:n對一個對象,只需要調(diào)用一次方法;n將匿名對象作為實參傳遞給一個方法調(diào)用。Java程序設計(SP3002)52包(package)問題的提出問題的提出Java作為一種面向?qū)ο蟮木幊陶Z言提供了十分豐富的類庫,用戶也可以根據(jù)實際情況編寫自己的類,如何存放、管理這些類就是我們面臨的一個問題。Java是采用“包”的方式來管理接口和類的,它將功能相同的接口和類放在一個包中,即使兩個接口或類的名字

39、相同,如果它們位于不同的包中,則它們也是兩個不同的接口或類,這樣就能達到分門別類管理,相互區(qū)分的目的。例如:java.util.Date與java.sql.Date,盡管類名相同,但它們?nèi)允莾蓚€互不相關的類。Java程序設計(SP3002)53包的必要性:包的必要性:n用于區(qū)分不同的類; 例如:java.util.Date t1=new java.util.Date();與 java.sql.Date t2=new java.sql.Date();就是創(chuàng)建了兩個不同類的對象,因為類名相同,如果不借助包就無法相互區(qū)分;n將功能相同的類歸于同一包中方便管理和使用; 例如:java.lang包中就集

40、中了與Java語言運行密切相關的類, java.awt包中的類則是與圖形有關。n部署、發(fā)布軟件的需要:一個應用程序可能由多個模塊構成,包含多個類,可將它們歸到一個包中一起發(fā)布;n實現(xiàn)更多層面的訪問控制,不同訪問權限在包中的表現(xiàn)有差異。Java程序設計(SP3002)54包的定義包的定義n概念:包是相關的類和接口構成的庫,是一個容器;n允許用戶可以構建包的層次結(jié)構;n相鄰層次的包名之間可以使用點號(.)進行分隔,格式為:package pack1.pack2.pack3,從大到小排列例如:java.lang包n用戶必須記住非常重要的另一點:必須在Java 開發(fā)系統(tǒng)的文件系統(tǒng)中維護包的層次結(jié)構:例如:上例的包層次結(jié)構應該存在于:Unix或Linux中:pack1/pack2/pack3 Windows中:ack1pack2pack3Java程序設計(SP3002)55包在文件系統(tǒng)中的表示包在文件系統(tǒng)中的表示n包通常存儲在文件系統(tǒng)的目錄中,并直接與物理文件夾結(jié)構有關。以類C為例,它通過下列語句指定給了包x.y:package x.y;public class C 經(jīng)過編譯的類C 存放在文件系統(tǒng)目錄下的物理文件夾結(jié)構X/Y中,如:CxyC.cl

溫馨提示

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

最新文檔

評論

0/150

提交評論