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

解決Java變異出現錯誤No enclosing instance of type XXX is accessible

 更新時間:2021年09月29日 15:20:11   作者:zhushy  
這牌你文章主要給大家分享解決Java變異出現錯誤,具體的饑餓絕方案請看下面文章的內容,需要的朋友可以參考一下,希望能幫助到你

一、錯誤代碼和錯誤現象

先記錄下問題現象,寫java代碼時遇到下面的編譯錯誤。

No enclosing instance of type FileTree is accessible. Must qualify the 
allocation with an enclosing instance of type FileTree (e.g. x.new A() 
where x is an instance of FileTree).

代碼如下:

import java.util.Arrays;
import java.util.LinkedHashMap;

public class FileTree {
 class Node {
  String name;

  public Node(String name) {
   super();
   this.name = name;
  }

  LinkedHashMap<String, Node> map = new LinkedHashMap<String, Node>();
 }

 public static void outputThreeFormat(String[] in) {
  Arrays.sort(in);
  Node root = new Node("/");

 }

 public static void main(String[] args) {
  String[] in = { "usr/local/lib64", "GAMES",
    "usr/DRIVERS", "home", "var/log/" };
  outputThreeFormat(in);

 }

}

錯誤截圖如下:

二、如何解決這些錯誤

錯誤的含義是,沒有可以訪問的外部實例enclosing instance。必須分配一個合適的外部類FileTree的實例(如x.new A(),x必須是FileTree的實例。)

結合出錯的代碼,很容易知道根源是什么:

  • class Node是非靜態(tài)內部類
  • public static void outputThreeFormat(String[] in)是靜態(tài)方法
  • 靜態(tài)方法是不能直接訪問非靜態(tài)類的。

1、可以不使用內部類

可以把class Node作為外部類定義,這樣在FileTree類中不管是靜態(tài)還是非靜態(tài)方法都可以直接new Node初始化個節(jié)點。

import java.util.Arrays;
import java.util.LinkedHashMap;

class Node {
 String name;

 public Node(String name) {
  super();
  this.name = name;
 }

 LinkedHashMap<String, Node> map = new LinkedHashMap<String, Node>();
}

public class FileTree {

 public static void outputThreeFormat(String[] in) {
  Arrays.sort(in);
  Node root = new Node("/");

 }

 public static void main(String[] args) {
  String[] in = { "usr/local/lib64", "GAMES", "usr/DRIVERS", "home", "var/log/" };
  outputThreeFormat(in);

 }

}

2、可以使用靜態(tài)內部類

可以把class Node作為靜態(tài)內部類定義,即static class Node。

import java.util.Arrays;
import java.util.LinkedHashMap;

public class FileTree {
 static class Node {
  String name;

  public Node(String name) {
   super();
   this.name = name;
  }

  LinkedHashMap<String, Node> map = new LinkedHashMap<String, Node>();
 }

 public static void outputThreeFormat(String[] in) {
  Arrays.sort(in);
  Node root = new Node("/");

 }

 public static void main(String[] args) {
  String[] in = { "usr/local/lib64", "GAMES",
    "usr/DRIVERS", "home", "var/log/" };
  outputThreeFormat(in);

 }

}

3、使用非靜態(tài)內部類時,使用外部類的實例進行調用

如下所示:

import java.util.Arrays;
import java.util.LinkedHashMap;

public class FileTree {
 class Node {
  String name;

  public Node(String name) {
   super();
   this.name = name;
  }

  LinkedHashMap<String, Node> map = new LinkedHashMap<String, Node>();
 }

 public static void outputThreeFormat(String[] in) {
  Arrays.sort(in);
  FileTree ft=new FileTree();
  Node root = ft.new Node("/");

 }

 public static void main(String[] args) {
  String[] in = { "usr/local/lib64", "GAMES",
    "usr/DRIVERS", "home", "var/log/" };
  outputThreeFormat(in);

 }

}

到此這篇關于解決Java變異出現錯誤No enclosing instance of type XXX is accessible的文章就介紹到這了,更多相關解決Java錯誤No enclosing instance of type XXX is accessible內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 使用Java第三方實現發(fā)送短信功能

    使用Java第三方實現發(fā)送短信功能

    這篇文章主要介紹了使用Java第三方實現發(fā)送短信功能,在一些開發(fā)中,經常需要有給用戶發(fā)送短信接收驗證碼的功能,那么在Java中該如何實現呢,今天我們就一起來看一看
    2023-03-03
  • SpringBoot開發(fā)技巧之使用AOP記錄日志示例解析

    SpringBoot開發(fā)技巧之使用AOP記錄日志示例解析

    這篇文章主要為大家介紹了SpringBoot開發(fā)技巧之如何利用AOP記錄日志的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • SpringCloud中的Seata基本介紹與安裝教程

    SpringCloud中的Seata基本介紹與安裝教程

    Seata 是一款開源的分布式事務解決方案,致力于提供高性能和簡單易用的分布式事務服務,這篇文章主要介紹了SpringCloud之Seata基本介紹與安裝,需要的朋友可以參考下
    2024-01-01
  • SpringBoot打印啟動時異常堆棧信息詳解

    SpringBoot打印啟動時異常堆棧信息詳解

    在本篇文章里小編給大家整理的是關于SpringBoot打印啟動時異常堆棧信息,有需要的朋友們可以學習下。
    2019-11-11
  • Netty分布式pipeline管道Handler的添加代碼跟蹤解析

    Netty分布式pipeline管道Handler的添加代碼跟蹤解析

    這篇文章主要介紹了Netty分布式pipeline管道Handler的添加代碼跟蹤解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • SpringBoot通過@MatrixVariable進行傳參詳解

    SpringBoot通過@MatrixVariable進行傳參詳解

    這篇文章主要介紹了SpringBoot使用@MatrixVariable傳參,文章圍繞@MatrixVariable展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • Java?數據交換?Json?和?異步請求?Ajax詳解

    Java?數據交換?Json?和?異步請求?Ajax詳解

    Json(JavaScript Object Notation)是一種輕量級的數據交換格式,采用鍵值對的形式來表示數據,它廣泛應用于Web開發(fā)中,特別適合于前后端數據傳輸和存儲,這篇文章主要介紹了Java數據交換Json和異步請求Ajax,需要的朋友可以參考下
    2023-09-09
  • Guava范圍類Range方法實例深入解析

    Guava范圍類Range方法實例深入解析

    這篇文章主要為大家介紹了Guava范圍類Range方法實例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • redis分布式鎖解決表單重復提交的問題

    redis分布式鎖解決表單重復提交的問題

    在系統(tǒng)中,有些接口如果重復提交,可能會造成臟數據或者其他的嚴重的問題,所以我們一般會對與數據庫有交互的接口進行重復處理。本文就詳細的介紹一下redis分布式鎖解決表單重復提交,感興趣的可以了解一下
    2021-11-11
  • java http token請求代碼實例

    java http token請求代碼實例

    這篇文章主要介紹了java http token請求,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03

最新評論

宜兰市| 巴东县| 舒兰市| 巴林右旗| 怀安县| 曲周县| 鄂伦春自治旗| 阿拉尔市| 新营市| 鸡泽县| 宁晋县| 嘉兴市| 武胜县| 丹寨县| 华蓥市| 台南县| 桃园县| 贵阳市| 陆良县| 曲靖市| 永善县| 腾冲县| 四会市| 长垣县| 漠河县| 武义县| 德清县| 偏关县| 隆子县| 定南县| 芦溪县| 棋牌| 会东县| 阳春市| 海门市| 台南市| 高要市| 滦平县| 西安市| 托克托县| 同仁县|