AOO*_*AOO 10 java static-methods inner-classes
我真的不明白为什么下面的getMyClass2方法不能是静态的,为什么它不是有效的Java代码?
public class MyClass
{
private class MyClass2
{
public String s1 = "";
public String s2 = "";
}
private MyClass2 myClass2;
private static MyClass2 getMyClass2()
{
MyClass2 myClass2 = new MyClass2();
return myClass2;
}
public MyClass()
{
myClass2 = getMyClass2();
}
}
Run Code Online (Sandbox Code Playgroud)
Gai*_*aim 13
您必须说内部类是静态的,因为非静态绑定到实例,因此无法从静态方法返回
public class MyClass
{
private static class MyClass2
{
public String s1 = "";
public String s2 = "";
}
private MyClass2 myClass2;
private static MyClass2 getMyClass2()
{
MyClass2 myClass2 = new MyClass2();
return myClass2;
}
public MyClass()
{
myClass2 = getMyClass2();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4316 次 |
| 最近记录: |