An inner class needs a reference to an instance of the outer class in order to be constructed. If your class doesn't logically need that, then use the static
modifer to make it "just a nested class":
public static class Class2 {
public void newMethod(){
System.out.println("Second class");
}
}
EDIT: To create an instance of Class2
as an inner class, you could use something like:
Class1 outer = new Class1();
Class2 myObject = outer.new Class2();
Or more briefly:
Class2 myObject = new Class1().new Class2();
... but unless you really want a reference to an enclosing instance, it's much simpler to make the class just a nested class.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…