最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2016年02月16日 11:03:29   投稿:lijiao  
這篇文章主要針對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 style="white-space:pre">  </span>//<span style="font-family: Arial, Helvetica, sans-serif;">ClassAccessTest test = </span>new <span style="font-family: Arial, Helvetica, sans-serif;">ClassAccessTestImp(10);</span>
  
  }
}

4.結果:
在TestMain類中,使用非注釋掉的部分可以正常運行,使用注釋掉的部分會報錯,ClassAccessTestImp未定義
結論
由上推論出,java中類的訪問權限是可以小于成員的訪問權限的,依賴倒置和包的封裝性的要求下,可以實現滿足要求。

相關文章

  • java實現角色及菜單權限的項目實踐

    java實現角色及菜單權限的項目實踐

    在Java中,實現角色及菜單權限管理涉及定義實體類、設計數據庫表、實現服務層和控制器層,這種管理方式有助于有效控制用戶權限,適用于企業(yè)級應用,感興趣的可以一起來了解一下
    2024-09-09
  • java ExecutorService使用方法詳解

    java ExecutorService使用方法詳解

    這篇文章主要為大家詳細介紹了java ExecutorService使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • java中split()方法以及常見算法經典案例

    java中split()方法以及常見算法經典案例

    這篇文章主要介紹了java中split()方法以及常見算法的相關資料,split()方法可以根據指定的正則表達式將字符串分割成多個子字符串,并返回一個字符串數組,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-04-04
  • Java如何正確處理下載文件時HTTP頭的編碼問題

    Java如何正確處理下載文件時HTTP頭的編碼問題

    這篇文章主要介紹了Java如何正確處理下載文件時HTTP頭的編碼問題,
    通常HTTP消息包括客戶機向服務器的請求消息和服務器向客戶機的響應消息,今天來講解下正確處理下載文件時HTTP頭的編碼問題,需要的朋友可以參考下
    2023-07-07
  • java工廠實例BeanFactoryPostProcessor和BeanPostProcessor區(qū)別分析

    java工廠實例BeanFactoryPostProcessor和BeanPostProcessor區(qū)別分析

    這篇文章主要為大家介紹了BeanFactoryPostProcessor和BeanPostProcessor區(qū)別示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • gradle和maven有哪些區(qū)別

    gradle和maven有哪些區(qū)別

    這篇文章主要介紹了gradle和maven有哪些區(qū)別,幫助大家更好的理解和選擇java程序的構建工具,感興趣的朋友可以了解下
    2021-01-01
  • Jsoup解析HTML實例及文檔方法詳解

    Jsoup解析HTML實例及文檔方法詳解

    這篇文章主要介紹了Jsoup如何解析一個HTML文檔、從文件加載文檔、從URL加載Document等方法,對Jsoup常用方法做了詳細講解,最近提供了一個示例供大家參考 使用DOM方法來遍歷一個文檔 從元素抽取屬性,文本和HTML 獲取所有鏈接
    2013-11-11
  • idea導入springboot項目沒有maven的解決

    idea導入springboot項目沒有maven的解決

    這篇文章主要介紹了idea導入springboot項目沒有maven的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • MyBatis啟動時控制臺無限輸出日志的原因及解決辦法

    MyBatis啟動時控制臺無限輸出日志的原因及解決辦法

    這篇文章主要介紹了MyBatis啟動時控制臺無限輸出日志的原因及解決辦法的相關資料,需要的朋友可以參考下
    2016-07-07
  • java根據模板動態(tài)生成PDF實例

    java根據模板動態(tài)生成PDF實例

    本篇文章主要介紹了java根據模板動態(tài)生成PDF實例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04

最新評論

伊宁市| 绥滨县| 华宁县| 金沙县| 十堰市| 中宁县| 固镇县| 留坝县| 宁阳县| 石棉县| 宜君县| 汤原县| 广元市| 遵义县| 陕西省| 麻阳| 平定县| 神池县| 财经| 南投市| 武清区| 普定县| 稻城县| 治县。| 仙游县| 吉安市| 诸城市| 林甸县| 本溪| 中江县| 呼伦贝尔市| 清水县| 陵水| 镇坪县| 盐亭县| 二连浩特市| 福海县| 廉江市| 桦南县| 千阳县| 白山市|