---開篇一例
1,新建一個project項目,名稱day01,然后在src下新建一個類,包名為cn.itcast.eclipse,類名為helloworld。
---其中day01是一個文件夾,src也是一個文件夾,cn是一個文件夾,istcast是一個文件夾,點是用來分割文件夾的。上面的文件所在目錄如下:
D:\Users\Administrator\Workspaces\MyEclipse Professional 2014\day01\src\cn\itcast\eclipse\helloworld.java
@LessonA
1.包(package)
為了便於管理大型軟件系統中數目眾多的類,解決類命名沖突的問題,Java引入了包(package)。
2. package mybole; //須為首句
Class Test : main(): println(…..); 類全名就變為:mybole.Test
3. java中的 包 對應windows中的目錄 : java mybole.Test or java mybole/Test
---注意:包名可有多層限定名,如:package cn.mybole;
1) package語句必須是文件中的第一條語句。也就是說,在package語句之前,除了空白和注釋之外不能有任何語句。
2) 如果不加package語句,則指定為缺省包或無名包。
3) 包對應着文件系統的目錄層次結構。
4) 在package語句中,用“.”來指明包(目錄)的層次。
一旦有上千個類和多層包,則手動就麻煩,此時怎么辦呢?
方法有:javac –d . Test.java //在當前目錄下系動自動生成 包 對應的 目錄層次結構
4.實際項目中包和類的應用視圖:
---如果去掉上面HelloworldAction.java類中的package,就會報錯。
***LessonB
1. Javac –d d:" Test.java
Set classpath = %classpath% ; D:"cn"mybole
Java cn.mybole.Test //問題是到底執行的是哪一個類字節碼呢?
想一想,是不是有種: 不識廬山真面目,只緣身在此山中 的感覺呀
2. Main(): cn.mybole.Test t=new cn.mybole.Test();
3.編譯並生成包
1)在當前目錄下生成包:
javac –d . Test.java
2)在指定目錄下生成包
javac –d E:"JavaLesson Test.java
4.引入包中的類需要使用import語句: import語句
1)引入包中的類。
import java.io.File;
2)引入整個包。
import java.io.*;
3)在同一包中的類可以互相引用,無需import語句。
@Java中常用到的包:
1、java.lang包:java的核心類庫,包含了運行java程序必不可少的系統類,如基本數據類型、基本數學函數、字符串處理、線程、異常處理類等,系統缺省加載這個包
2、java.io包:java語言的標准輸入/輸出類庫,如基本輸入/輸出流、文件輸入/輸出、過濾輸入/輸出流等等
3、java.util包:包含如處理時間的date類,處理變成數組的Vector類,以及stack和HashTable類
4、java.awt包:構建圖形用戶界面(GUI)的類庫,低級繪圖操作Graphics類,圖形界面組件和布局管理如Checkbox類、Container類、LayoutManger接口等,以及界面用戶交互控制和事件響應,如Event類
5、java.awt.image包:處理和操縱來自於網上的圖片的java工具類庫
6、java.wat.peer包:很少在程序中直接用到,使得同一個java程序在不同的軟硬件平台上運行
7、java.applet包
8、java.net包:實現網絡功能的類庫有Socket類、ServerSocket類
9、java.corba包和java.corba.orb包
10、java.lang.reflect包:提供用於反射對象的工具
11、java.util.zip包:實現文件壓縮功能
12、java.awt.datatransfer包:處理數據傳輸的工具類,包括剪貼板,字符串發送器等
13、java.awt.event包
14、java.sql包:實現JDBC的類庫
15、java.rmi 提供遠程連接與載入的支持。
16、java.security 提供安全性方面的有關支持。
@我們可以引用這些包,也可以創建自己的包。
1、包的聲明
為了聲明一個包,首先必須建立一個相應的目錄結構,子目錄與包名一致。然后在需要放入該包的類文件開頭聲明包,形式為:
package 包名;
這樣,在這個類文件中定義的所有類就都被裝入到您所希望的包中了,例如:
package bookexample; class A{ …… } class B extends A{ …… } public class OverrideExample{ …… }
不同的程序文件內的類也可以同屬於一個包,只要在這些程序文件前都加上同一個包的說明即可。
2、包的使用
在Java中,為了裝載使用已編譯好的包,通常可使用以下3種方法:
(1) 在要引用的類名前帶上包名作為修飾符。例如:
bookexample.A objA = new bookexample.A();
其中bookexample是包名,A是包中的類名,objA是類的對象。
(2) 在文件開頭使用import引用包中的類。例如:
import bookexample.A; class Example{ A objA = new A(); }
同樣,bookexample是包名,A是包中的類,objA是創建的A類對象。
(3) 在文件前使用import引用整個包。例如:
import bookexample.*; class Example{ A objA=new A(); }
bookexample整個包被引入,A是包中的類,objA是創建的A類對象。
在使用包時,可以用點“.”表示出包所在的層次結構,用“.*”表示該目錄結構下的所有內容。
需要指出的是,java.lang這個包無需顯式引用,它總是被編譯器自動調入。使用包時還要特別注意系統classpath路徑的設置情況,它需要將包名對應目錄的父目錄包含在classpath路徑中,否則編譯時會出錯,提示用戶編譯器找不到指定的類。