簡體   English   中英

用內部 Class Java 修改外部 Class 屬性

[英]Modifying Outer Class attribute in with Inner Class Java

我想在主 class 中有內部類。 一個屬性是 innerClassId,我無法在內部 class 中更改它。 代碼:

public class OuterClass {
    public static String innerClassId = "";
    
    public class InnerClass {
        innerClassId = "";
    }
}

它一直說“語法錯誤,插入“ClassBody”以完成 ClassDeclarationJava(1610612976)”

這是初始化的一些變體:

public class OuterClass {
    
    public static String innerClassId = "one";
    
    public class InnerClass {
        
        {
            innerClassId = "two";
        }
        
        public InnerClass() {
            innerClassId = "three";
        }
        
        public InnerClass(int j) {
            //we'll ignore j here (but initializer code runs)
        }
        
        public InnerClass(String s) {
            innerClassId = s;
        }
    }
    
    public static void main (String[] args) {
        OuterClass oc = new OuterClass();
        System.out.println(OuterClass.innerClassId);
        InnerClass ic = new OuterClass().new InnerClass(0);
        System.out.println(OuterClass.innerClassId);
        ic = new OuterClass().new InnerClass();
        System.out.println(OuterClass.innerClassId);
        ic = new OuterClass().new InnerClass("four");
        System.out.println(OuterClass.innerClassId);
        
    }

}

印刷

one
two
three
four

暫無
暫無

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

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