<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-71  評論-4  文章-0  trackbacks-0
    1. Java中的訪問控制
    表1-1

    可見/訪問性
    public
    protected
    package
    private

    在同一類中
    yes
    yes
    yes
    Yes

    同一包中
    yes
    yes
    yes
    no

    不同包中
    yes
    No
    No
    No

    同一包的子類中
    yes
    yes
    yes
    No

    不同包的子類中
    Yes
    Yes
    No
    No


    說明:

    (1) 在java中有public、protected、private三種顯示的修飾符用于控制可見性,package不是顯示的修飾符,它是隱含的,即如果在類、變量等前沒加顯示的可見性修飾符,那它就是package級別的。如果在類的定義中沒有指定package,那么java會把它放在缺省包中,一般來說這個缺省的包就是當前目錄。

    (2) 在子類中的方法如果重載了父類的方法,那么該方法的可見級別應更底或者相同,如父類中的方法是public,那么子類中方法必須是public。

    (3) 在java中,一般來說,變量成員最好是private,對它們的訪問可以通過public的方法,在這些方法中可以做些控制以保證數據的一致性。這些方法名一般以get和set做為前綴。

    2. 包
    包名一般為小寫,而類名的第一個字母一般為大寫,這樣在引用時,可以明顯的分辨出包名和類名。如果在類的定義之前沒有使用package定義包名,那么該類就屬于缺省的包。

    2.1 Hello Package
    首先通過一個簡單的package的定義來學習package的使用:

    package testPackage;

    public class Test

    {

    public static void main(String args[])

    {

    mNode node = new mNode();

    node.print("hello");

    }

    }

    說明:

    (1) 使用package關鍵字指明類所在的包;

    (2) package語句必須在文件的最前面;

    (3) 編譯時可使用javac –d . Test.java自動產生包需要目錄;

    (4) 可以使用java testPackage.Test來執行編譯后的代碼;

    2.2 包的幾個作用:
    (1) 可以更好的組織類,包與文件夾類似,文件夾可以將不同的文件放在同一個文件夾中,而包也可以將不同的類文件放在同一包中;

    (2) 減少類名的沖突問題,這也與文件夾類似,同一文件夾中的文件不能重名,不同文件中的文件可以重名,同一包中的類名不能重復,不同包中的類名可以重復;

    (3) 對包中的類起了一定的保護作用,詳見java的訪問控制;

    2.3 import的使用
    (1) 直接引用指定的類,如import java.util.Vector;

    (2) 引用一個包中的多個類,如import java.awt.*。更確切的說,它并不是引用java.awt中的所有類,而只引用定義為public的類,并且只引用被代碼引用的類,所以這種引用方法并不會降低程序的性能;

    (3) *號代替類名,在不能代替包名,如import java.awt.*,只引用java.awt下的類,而不引用java.awt下的包;

    (4) import java.awt.F*,這種使用方法是錯誤的;

    (5) import語句在所有類定義之前,在package定義之后;

    (6) import只告訴編譯器及解釋器哪里可以找到類、變量、方法的定義,而并沒有將這些定義引入代碼中;

    2.4 包中類的使用
    有以下幾種機制可以使用包中的類:

    (1) 如果要使用的類是屬于java.lang包的,那么可以直接使用類名來引用指定的類,而不需要加上包名,因為包java.lang不用顯示使用import,它是缺省引入的;

    (2) 如果要使用的類在其它包(java.lang除外)中,那么可以通過包名加上類名來引用該類,如java.awt.Font

    (3) 對于經常要使用的類(該類在其它包中),那么最好使用import引用指定的包,如java.awt.*

    (4) 如果import引入的不同的包中包含有相同的類名,那么這些類的使用必須加上包名

    (5) 接口也可以屬于某個包,也可以使用import引入其它包中的類和接口

    posted on 2006-03-20 12:16 zjw_albert 閱讀(148) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 最新仑乱免费视频| 亚洲综合久久综合激情久久| 亚洲av永久无码精品天堂久久| 国产日本亚洲一区二区三区| 免费人成视频在线观看免费| 99免费在线视频| 国产美女亚洲精品久久久综合| 美女黄色免费网站| 亚洲AV无码乱码在线观看| 全部一级一级毛片免费看| 亚洲国产黄在线观看| 国产日韩久久免费影院| 国产亚洲精品xxx| 3d动漫精品啪啪一区二区免费| 四虎永久在线精品免费观看地址| 亚洲免费在线播放| 中文字幕免费视频| 久久乐国产综合亚洲精品| 青青草免费在线视频| 日本亚洲中午字幕乱码| 免费观看的毛片大全| 亚洲欧洲精品成人久久曰| 啦啦啦完整版免费视频在线观看| 亚洲国产日韩在线| 四虎永久免费地址在线观看| jizz中国免费| 亚洲美女视频网站| 国产成人免费全部网站| 国产成人精品日本亚洲18图| 国产无遮挡吃胸膜奶免费看| 黄桃AV无码免费一区二区三区| 国产成人高清精品免费软件| 国产无遮挡色视频免费观看性色| 亚洲国产天堂久久综合网站| 成人免费看片又大又黄| 一区二区三区免费在线视频| 亚洲精品综合久久| 特级毛片免费播放| 亚洲黄色片免费看| 免费一级毛片正在播放| 黄色网址在线免费|