java教案第5章.ppt_第1頁(yè)
java教案第5章.ppt_第2頁(yè)
java教案第5章.ppt_第3頁(yè)
java教案第5章.ppt_第4頁(yè)
java教案第5章.ppt_第5頁(yè)
已閱讀5頁(yè),還剩10頁(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、,2,Package:the Library Unit,import java.util.*; import java.util.Vector; Managing “name spaces” Class members are already hidden inside class Class names could clash Need completely unique name even over the Internet Compilation units (.java files) Name of .java file = name of single public class Ot

2、her non-public classes are not visible Each class in file gets its own .class file Program is a bunch of .class files (no .obj or .lib),3,Creating a Library of Classes,package mypackage; public class is under the umbrella mypackage Client programmer must import mypackage.*; Creating unique package n

3、ames Location on disk encoded into package name Convention: first part of package name is Internet domain name of class creator (reversed) Java interpreter uses CLASSPATH environment variable as starting point for search My domain: package com.bruceeckel.util; (Note change to lowercase com),4,A Simp

4、le Library,package com.bruceeckel.util; public class Vector public Vector() System.out.println(com.bruceeckel.util.Vector); / package com.bruceeckel.util; / Separate file public class List public List() System.out.println(com.bruceeckel.util.List); ,5,Library Location,C:DOCJavaTcombruceeckelutil CLA

5、SSPATH takes care of first part: CLASSPATH=.;D:JAVALIB;C:DOCJavaT Programs can be in any directory,6,Library Location,import com.bruceeckel.util.*; public class LibTest public static void main(String args) Vector v = new Vector(); List l = new List(); Compiler starts search at CLASSPATH (Java 2 has

6、improved things),7,目錄、包、類的關(guān)系,d1,d2,p1,p2,p3,類,包,Classpath= d:d1;d:d1d2,8,9,“Friendly”,Default access, has no keyword public to other members of the same package, private to anyone outside the package Easy interaction for related classes (that you place in the same package) Also referred to as “packa

7、ge access”,10,public: Interface Access,package c05.dessert; public class Cookie public Cookie() System.out.println(Cookie constructor); void foo() System.out.println(foo); / Separate file in separate package: import c05.dessert.*; public class Dinner public Dinner() System.out.println(Dinner constru

8、ctor); public static void main(String args) Cookie x = new Cookie(); /! x.foo(); / Cant access ,11,private: Cant Touch That!,class Sundae private Sundae() static Sundae makeASundae() return new Sundae(); public class IceCream public static void main(String args) /! Sundae x = new Sundae(); Sundae x

9、= Sundae.makeASundae(); ,12,protected,Finer grained, deals with inheritance Generally: when you need it, youll know Covered in book; well see it later,13,類成員的訪問(wèn)修飾符與訪問(wèn)能力之間的關(guān)系,14,Class Access,Classes as a whole can be public or “friendly” Only one public class per file, usable outside the package All other classes “friendly,” only usable within the package,15,Summary,Access control tells users what they can & cant use (shows the area of interest) Also separates interface & implementation Allows the class creator to change the implementat

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論