程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JAVA基礎培訓(3),認識類的訪問權限描述符

JAVA基礎培訓(3),認識類的訪問權限描述符

編輯:關於JAVA

我們熟悉一下類的訪問權限描述符,public和默認不寫的情況。 類沒有private類型 。

我們先注意一下目錄結構,我們建了一個otherpackage子目錄,用來存放非同一目錄 的類

先看我們的主文件

lession3/Lession3.java

package lession3;
// 注意,我們使用了其它package的類,所以需要import進來
// 注意:路徑必須為完整的路徑
import lession3.otherpackage.PublicClassOtherPackage;
/**
* 老紫竹JAVA基礎培訓(3),認識類的訪問權限描述符.<br>
* 原則:<br>
* public的類,可以被任何類在任何地方訪問<br>
* 默認權限的類(也就是沒寫任何訪問描述符的類)只能在當前package訪問, <br>
* 不能被其它package的類訪問。
*
* @author 老紫竹 JAVA世紀網(java2000.net)
*
*/
public class Lession3 {
 public static void main(String[] args) {
  // 調用同一package下的public訪問權限類
  System.out.println(new PublicClassSamePackage().toString());
  // 調用同一package下的默認訪問權限類
  System.out.println(new DefaultClassSamePackage().toString());
  // 調用不同package下的public訪問權限類
  System.out.println(new PublicClassOtherPackage().toString());
  // 調用不同package下的默認訪問權限類
  // System.out.println(new DefaultClassOtherPackage().toString());
 }
}

同一個目錄下面的2個java文件

lession3/PublicClassSamePackage.java

package lession3;
/**
* 相同package的公開訪問權限類。
*
* @author 老紫竹 JAVA世紀網(java2000.net)
*
*/
public class PublicClassSamePackage {
 public String toString() {
  return "相同package的公開類";
 }
}

lession3/DefaultClassSamePackage.java

package lession3;
/**
* 相同package的默認訪問權限類。
*
* @author 老紫竹 JAVA世紀網(java2000.net)
*
*/
class DefaultClassSamePackage {
 public String toString() {
  return "相同package的默認類";
 }
}

我們的子目錄裡面的2個不同package的類

lession3/otherpackage/PublicClassOtherPackage.java

package lession3.otherpackage;
/**
* 其它package的公開訪問權限類。
*
* @author 老紫竹 JAVA世紀網(java2000.net)
*
*/
public class PublicClassOtherPackage {
 public String toString() {
  return "其它package的公開類";
 }
}

lession3/otherpackage/DefaultClassOtherPackage.java

package lession3.otherpackage;
/**
* 不同package的默認訪問權限類。
*
* @author 老紫竹 JAVA世紀網(java2000.net)
*
*/
class DefaultClassOtherPackage {
 public String toString() {
  return " 不同package的默認類";
 }
}

我們先看一下運行結果

相同package的公開類

相同package的默認類

其它package的公開類

下面,我們嘗試

1 調用不同package下的默認訪問權限類,我們把Lession3.java裡面的被注釋掉的代 碼恢復,看看編譯錯誤

2 嘗試把前面這個不能訪問的類(DefaultClassOtherPackage)改成 public 類,看看編 譯結果和運行結果

3 嘗試把當前package的 PublicClassOtherPackage 的public去掉,看看編譯和運行 結果

4 嘗試在當前package增加其它的類,並在 Lession3裡面使用,看看編譯和運行結果

5 嘗試在otherpackage裡面增加其它的類,並在 Lession3裡面使用,看看編譯和運行 結果

6 自己新建一個package,嘗試在裡增加其它的類,並在 Lession3裡面使用(注意 import部分必須添加),看看編譯和運行結果

總結:

一個類如果想直接訪問另一個單獨的類,有2種情況

1 和自己在一個package下面,無論其是否為public

2 和自己不在一個package下面,且必須為public

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved