-2

我有MyClass mc=new MyClass();,我需要访问子类:mc.Sub.Check()

https://stackoverflow.com/a/488749/1234275 - 在这种情况下不起作用。

public class MyClass {
  public onCreate() {
    super();
  }
  Public class Sub {
    public void Check() {
      //
    }
  }
}
4

3 回答 3

0

您可以像任何其他类一样启动内部类,即new MyClass.Sub,然后调用该方法。如果要跳过启动,则必须将嵌套类声明为静态。

(另外:非静态内部类的实例只能存在于包含类的实例的上下文中)。

于 2012-05-14T08:28:23.420 回答
0

您只需要像普通类一样创建内部类的对象。在上述情况下,您可以按照以下方式进行。

子子 = 新子();

子检查();

把上面的代码放在 onCreate();

希望这会帮助你。

于 2012-05-14T08:31:35.123 回答
0

仅使用类名调用静态方法,要么将方法设为静态,要么在外部类中创建内部类的实例以及带有实例的所有方法。

于 2012-05-14T08:35:42.720 回答