Java入門筆記4_訪問控制和包

字號:

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
    可見/訪問性publicprotectedpackageprivate
    在同一類中yesyesyesYes
    同一包中yesyesyesno
    不同包中yesNoNoNo
    同一包的子類中yesyesyesNo
    不同包的子類中YesYesNoNo
    說明:
    (1) 在java中有public、protected、private三種顯示的修飾符用于控制可見性,package不是顯示的修飾符,它是隱含的,即如果在類、變量等前沒加顯示的可見性修飾符,那它就是package級別的。如果在類的定義中沒有指定package,那么java會(huì)把它放在缺省包中,一般來說這個(gè)缺省的包就是當(dāng)前目錄。
    (2) 在子類中的方法如果重載了父類的方法,那么該方法的可見級別應(yīng)更底或者相同,如父類中的方法是public,那么子類中方法必須是public。
    (3) 在java中,一般來說,變量成員是private,對它們的訪問可以通過public的方法,在這些方法中可以做些控制以保證數(shù)據(jù)的一致性。這些方法名一般以get和set做為前綴。
    2. 包
    包名一般為小寫,而類名的第一個(gè)字母一般為大寫,這樣在引用時(shí),可以明顯的分辨出包名和類名。如果在類的定義之前沒有使用package定義包名,那么該類就屬于缺省的包。
    Hello Package
    首先通過一個(gè)簡單的package的定義來學(xué)習(xí)package的使用:
    package testPackage;
    public class Test
     {
     public static void main(String args[])
     {
     mNode node = new mNode();
     node.print("hello");
     }
     }