Java入門之07------Java中的包,寫任何java程序都要有包名,否則死了都不知道怎么死的!!!


---開篇一例

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路徑中,否則編譯時會出錯,提示用戶編譯器找不到指定的類。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM