999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

芻議Java體系架構中包的管理機制及應用策略

2009-12-31 00:00:00李永壯
考試周刊 2009年50期

摘要: 在Java的程序設計中,為了更容易地找到和使用類和接口、避免名稱沖突,以及控制訪問,提高程序的可讀性和可重用性,Java提供包來管理類和接口。本文從包的作用、包的定義、創建包、引用包、管理包和設置類路徑等方面進行論述,討論了有關包中類的訪問原則,以及導入包的注意事項。

關鍵詞: Java體系架構包管理機制應用策略

在類的管理和使用上,微軟公司推出的NET技術采用命名空間的形式,而SUN公司的Java采用包的形式。Java編譯器為每個類生成一個字節碼文件,且文件名與Public的類名相同,因此同名的類有可能發生沖突。為了解決這一問題,Java提供包來管理類名空間。包實際上提供了一種命名機制和可見性限制機制。包是一種松散的類的集合,同一個包中的類在默認情況下可以互相訪問,所以為了方便編程和管理,我們通常把需要在一起工作的類和接口放在一個包里。我們可以利用包的訪問控制能力從更宏觀的角度對類進行訪問權限的控制。

1.包的作用

1.1組織文件

現實的計算機系統常常使用目錄來管理文件,Java語言里采用Package機制,Java編譯器把包對應于文件系統的目錄管理,按照樹的方式管理許多不同功能的Java文件。Package可以使數量龐大的文件顯得清晰、有條理。將類和接口封裝在不同的包中,主要是為了解決名字空間、名字沖突,它與類的繼承沒有關系,可更大限度地避免重名類的沖突。

1.2權限管理

Package是相關的類和接口的集合,能提供訪問保護和用以管理這些字節文件,是Java系統中對象和接口等基本要素進行模塊化管理的基本手段。包參與了類和類的成員變量的訪問權限封裝功能,對于具有Private訪問權限的類和Friendly成員變量,包具有對它們進行隱藏的功能,也就是說,不同包內Private類和Friendly的成員變量是不能被訪問到的,相反,如果是同個包內這樣的條件是可以訪問到的。所以包能有效地管理和封裝眾多的類和接口;同時,包的權限管理功能也完善了Java完全面向對象能力。

2.包的使用

2.1定義

包(Package)是一個相關的類和接口的集合,它可以提供訪問保護和名稱空間管理。

2.2創建包

創建包的辦法是將一個類或接口放進去。為此,在定義類或接口的源代碼文件的頂部放一個Package語句。如果在源文件中沒有Package語句,那么類或接口將放在默認包(Default Package)中,這個包沒有名字。程序員可以定義自己的包并且可以引用它,還可以引用Java系統定義的包,在包中可以存放一個或者多個類。

包的定義格式:package<包名>;

其中package是關鍵字,包名是Java任意合法的標志符。

例如:package com.sxx //聲明名為com.sxx的包。

public class Myclass{…}

注意:

(1)Package語句必須寫在Java源程序的第一行。

(2)在一個程序中不能出現多條package語句。

(3)Package語句的作用域是整個源代碼文件。

2.3命名包

世界各地的程序員都在使用Java語言編寫類和接口,很可能有兩個程序員給兩個不同的類起了相同的名稱,但是Java允許兩個類同名,因為它們在不同的包中,而每個類的完全限定名包含包的名稱。包名的命名原則是反域名形式。如:com.company.package。

2.4導入包和使用包的成員

Java編譯器為所有程序自動引入java.lang包中的所有類,此時不必用import語句,但是若需要使用其它包中的類,就必須在Java源程序中使用import語句導入。

import語句的格式為:import<包名1<類名>|*>[,<包名2<類名>|*>[,……];其中import是關鍵字,多個包名和類名之間用“;”分割,包名和類名之間使用“.”分隔。

2.4.1訪問包的公共類

類的訪問級別只有2級:缺省級(default)和公共級(public)。只有公共級的類可以從包外訪問,而且要求此時的Java文件名必須和類名保持一致。

Java提供了三種方法:

(1)用類的長名稱(即包名+類名)引用。

如果某個類只訪問一次,那么可以自接使用類的全名,形式是“包名.類名”。

例:com.sxx.jsj包中的Graphic類,它的全名為com.sxx.jsj.Graphic。

class MyPict{

com.sxx.jsj.Graphic gpc=new com.sxx .jsj .Graphic (?搖 ?搖);

}

這種方式適合一次或者兩次的使用原則,如果必須一次又一次地寫com.sxx.jsj.Graphic,那這種方法太麻煩。

(2)利用import語句導入包中的某個類(此時import語句必須放置在程序的開頭,如果有package語句,則放在他的后面);

例:訪問com.sxx.jsj包中的Graphic類。

import com.sxx.jsj.Graphic;

Class MyPict{

Graphic gpc=new Graphic(?搖?搖);

}

這種方式適合使用包中幾個類,但是如果要使用一個包中的許多類和接口,那么可以導入整個包。

(3)利用import語句導入整個包中的所有類。

方法:import包名.*;(“*”表示包中的所有公共類)。

例:com.sxx.jsj包有很多類(包括Graphic,Circle,Rectangle類等)。

import com .sxx.jsj.*;

class MyPict{

Graphic gpc=new Graphic(?搖?搖);

Circle cir1=new Circle(?搖?搖);

Rectangle rec1=new Rectangle(?搖?搖);

…}

導入包時注意事項:(1)如果要導入的類與現在使用的類名相同則默認使用本地類。(2)如果要導入的類與正在使用的類名相同,但此時必須使用這個導入類,在不影響本地類的情況下,利用類的全名(即包名.類名)使用。

2.4.2使用包的好處

(1)消除名稱的二義性。

(2)在開發大型項目時,很容易讓程序員知道類和接口的相關性。

(3)可以允許包中的類較自由地訪問包中的另一個類,同時嚴格地限制包外的類對包內的類的訪問。

2.5設置包的路徑

classpath指明包的根目錄。Java編譯器會嚴格按classpath和包名所指定的路徑尋找包,進而使用其中的某個類。(注意:路徑名稱中不能有空格)

查看和設置classpath環境變量的方法有兩種:(1)命令行窗口中使用setclasspath命令,格式:set classpath=%classpath%;c:\\javatest,特點是命令行窗口一關閉就無效;(2)通過用鼠標右擊【我的電腦】圖標,在彈出的快捷菜單中,選擇【屬性】命令,彈出【系統特性】對話框,再單擊【高級】選項卡,然后選擇【環境變量】按鈕,就可以在系統變量中新建classpath屬性,變量名:classpath,變量值:%classpath%;c:\\javatest,特點是對命令行窗口始終有效。

3.結語

包是Java體系架構中個很重要的概念,它在物理上起到了組織文件、管理文件的作用,在邏輯上是對類和接口進行了訪問權限的管理,實現了類和接口的一定程度的封裝作用。正確合理地創建包和使用包會使開發的軟件更健壯、更易于維護。

參考文獻:

[1]楊年華,張禮平.JAVA類庫中的策略模式[J].計算機應用與軟件,2004,(01).

[2]耿祥義,張躍平.Java程序設計(第三版)[M].北京:清華大學出版,2009.

[3][美]Bruce Eckela著.京京工作室譯.JAVA編程思想[M].機械工業出版社,1999.4.

[4]劉曉華.精通Java核心技術[M].電子工業出版社,2004.

主站蜘蛛池模板: 午夜精品区| 中文字幕调教一区二区视频| 成人免费黄色小视频| 白丝美女办公室高潮喷水视频 | 无码电影在线观看| 色婷婷综合在线| 91视频国产高清| 日本www在线视频| 午夜毛片福利| 国产不卡一级毛片视频| 欧美另类一区| 毛片最新网址| 国产精品分类视频分类一区| 青青草国产一区二区三区| 91色在线观看| 超碰免费91| 欧美啪啪网| 97综合久久| 亚洲黄色网站视频| 免费看黄片一区二区三区| 久久人搡人人玩人妻精品| 久久精品人妻中文系列| 亚洲精品黄| 人妻91无码色偷偷色噜噜噜| 久久久久国产一区二区| 69视频国产| 久久久噜噜噜久久中文字幕色伊伊 | 无套av在线| 久久香蕉国产线看精品| 白丝美女办公室高潮喷水视频 | 97青草最新免费精品视频| 色亚洲激情综合精品无码视频| 日韩国产综合精选| 亚洲国产av无码综合原创国产| 欧美中文字幕一区| 国产精品天干天干在线观看| 久久婷婷色综合老司机| AV天堂资源福利在线观看| 乱色熟女综合一区二区| 久久人体视频| 华人在线亚洲欧美精品| 免费一极毛片| 欧美国产日本高清不卡| 久久精品人人做人人爽| 高潮爽到爆的喷水女主播视频 | 国产精品久久精品| 久久中文字幕2021精品| 一本色道久久88综合日韩精品| 亚洲国产无码有码| 97在线观看视频免费| 国产亚洲美日韩AV中文字幕无码成人 | 台湾AV国片精品女同性| 精品久久久久久成人AV| 亚洲色图综合在线| 久久婷婷六月| 久久免费视频播放| 国产h视频在线观看视频| 国产第一页屁屁影院| 狠狠躁天天躁夜夜躁婷婷| 日本欧美午夜| 中国一级特黄大片在线观看| 国产女人在线视频| 久久亚洲AⅤ无码精品午夜麻豆| 亚洲天堂日韩av电影| 久久久久久久97| 国产乱子精品一区二区在线观看| 国禁国产you女视频网站| 国产成人综合欧美精品久久| 国产亚洲欧美在线中文bt天堂| 国产黄网永久免费| 99久视频| 国产老女人精品免费视频| 人人澡人人爽欧美一区| 国产00高中生在线播放| 夜夜操天天摸| 亚洲天堂自拍| 日韩欧美中文字幕在线精品| 1769国产精品视频免费观看| 日本福利视频网站| 欧美日韩导航| 2020国产免费久久精品99| 怡红院美国分院一区二区|