程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java類拜訪權限與成員拜訪權限解析

java類拜訪權限與成員拜訪權限解析

編輯:關於JAVA

java類拜訪權限與成員拜訪權限解析。本站提示廣大學習愛好者:(java類拜訪權限與成員拜訪權限解析)文章只能為提供參考,不一定能成為您想要的結果。以下是java類拜訪權限與成員拜訪權限解析正文


在寫代碼的時刻有個成績:包內界說了一個接口類,別的一個包要完成它,這裡采取接口隔離與依附顛倒准繩,將兩個包的依附關系顛倒過去。然則,這裡就碰到了一個成績,完成類采取工場形式來實例化,所以完成類就不想裸露給包外,然則完成類還要完成public接口。所以這裡有發生了一個疑問,假如類是default類型,成員函數是public類型,那末拜訪限制是如何的呢?
完成驗證
1. 先在一個包中界說一個接口類:

package mytest
  
public interface ClassAccessTest
{
  void getData();
  CharSeqence getString();
}

2. 在完成包中界說完成類和工場

package classaccesstest
  
import mytest.ClassAccessTest
  
class ClassAccessTestImp implements ClassAccessTest
{
  int mA = 0;
  
  ClassAccessTestImp(int a)
  {
    mA = a;
  }
  
  public void getData()
  {
    System.out.printlin(" the data is     " + mA);
  }
  
  public CharSequence getString()
  {
    return (" the data is " + mA);
  }
  

package classaccesstest
  
import mytest.ClassAccessTest
  
public class Factory
{
  public static ClasAccessTest getAccessTest()
  {
    return new ClassAccessTestImp(10);
  }
}

3. 再在原包中應用接口:

package mytest
  
import classacesstest.Factory

//import classaccesstest.ClassAccessTestImp
  
public class TestMain
{
  public static void main(String arg[])
  {
    Factory.getAccessTest().getString();

<span >  </span>//<span >ClassAccessTest test = </span>new <span >ClassAccessTestImp(10);</span>
  
  }
}

4.成果:
在TestMain類中,應用非正文失落的部門可以正常運轉,應用正文失落的部門會報錯,ClassAccessTestImp不決義
結論
由上推論出,java中類的拜訪權限是可以小於成員的拜訪權限的,依附顛倒和包的封裝性的請求下,可以完成知足請求。

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