簡體   English   中英

在Java中創建對象時給我一個錯誤

[英]Gives me an error while creating an object in java

使用Java中定義的類創建對象時遇到錯誤。 這是我的代碼:

public class encapsulation {

    class Emp
    {
        int empId;
        String empName;
    }

    public static void main(String[]args)   
    {
        Emp e1 = new Emp();
    }
}

但這給了我一個錯誤:

沒有封裝類型的封閉實例。 必須使用封裝類型的封裝實例(例如xxnew A(),其中x是封裝實例)來限定分配。

這是一個快照: 使用Java創建對象時出錯

您正在嘗試實例化內部類的對象。 內部類實例始終需要與外部類實例關聯。 嘗試這個 -

public static void main(String[]args)
{
    encapsulation en = new encapsulation();
    encapsulation.Emp e1 = en.new Emp();
}

查看官方教程以獲取更多信息。

當您在encapsulation具有內部類Emp時, Emp任何實例都屬於encapsulation實例 如果您不想這樣做,可以通過添加static修飾符使其成為嵌套類:

public class encapsulation {
    static class Emp {
    ......

現在Emp被聲明為static ,它不屬於任何特定的encapsulation實例,因此您無需實例化encapsulation可以實例化Emp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM