我有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() {
//
}
}
}
答案 0 :(得分:0)
您可以像任何其他类一样启动内部类,即new MyClass.Sub
,然后调用该方法。如果要跳过启动,则必须将嵌套类声明为静态。
(另外:非静态内部类的实例只能存在于包含类的实例的上下文中。)
答案 1 :(得分:0)
您只需像普通类一样创建Inner类的Object。在上述情况下,您可以通过以下方式完成。
Sub sub = new Sub();
sub.check();
将上面的代码放在onCreate();
中希望这会对你有所帮助。
答案 2 :(得分:0)
只有静态使用类名调用方法,要么使方法为静态,要么在外层中创建内部类的实例,并使用实例创建所有方法。