Ŧhų*_*nDö 1 java class inner-classes
我还是java的新手,我试图创建一个内部类并在main中调用该方法.但是有一个编译错误说"非静态变量 - 这不能从静态上下文中引用"
请帮忙
class Class1{
public static void main(String args []){
Class2 myObject = new Class2();
myObject.newMethod();
}
public class Class2{
public void newMethod(){
System.out.println("Second class");
}
}
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 10
一个内部类需要的的一个实例的引用外类以构造.如果你的类在逻辑上不需要它,那么使用staticmodifer使它"只是一个嵌套类":
public static class Class2 {
public void newMethod(){
System.out.println("Second class");
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:要创建的实例Class2作为一个内部类,你可以使用这样的:
Class1 outer = new Class1();
Class2 myObject = outer.new Class2();
Run Code Online (Sandbox Code Playgroud)
或者更简单地说:
Class2 myObject = new Class1().new Class2();
Run Code Online (Sandbox Code Playgroud)
...但除非你真的想要一个封闭实例的引用,否则使类只是一个嵌套类要简单得多.
| 归档时间: |
|
| 查看次数: |
2262 次 |
| 最近记录: |