I want to have inner classes inside of a main class. One attribute is innerClassId and I can't change it in the inner class. Code:
public class OuterClass {
public static String innerClassId = "";
public class InnerClass {
innerClassId = "";
}
}
It keeps saying "Syntax error, insert "ClassBody" to complete ClassDeclarationJava(1610612976)"
Here's a few variations of initialization:
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);
}
}
Prints
one
two
three
four
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.