如何使用java内部类

时间:2013-10-02 07:35:30

标签: java

我是java和学习阶段的新手。我正在尝试为Android制作一个应用程序,并想知道如何使用java内部类

示例:我的android studio项目中有以下test4.java

public class test4{   // outer class
   class getinfo{  // inner class
     public String getosname(){  // getosname function
       // something here
     }
  }
}

如何从getosname()类之外调用test4并返回内部类getinfo内的值?

2 个答案:

答案 0 :(得分:2)

要调用getosname()方法,您需要类getinfo的实例。您使用new运算符创建类的实例。由于您的类是内部类,因此您首先需要外部类的实例:

test4 test4Instance = new test4();
test4.getinfo getinfoInstance = test4Instance.new getinfo();
getinfoInstance.getosname();

现在,谨慎使用内部类。它们在Java中并不常用,因为它们解决了非常具体且相当罕见的问题。如果可以,只需将getinfo作为普通类放在其自己的getinfo.java文件中。在这种情况下,您只需要这样做:

getinfo getinfoInstance = new getinfo();
getinfoInstance.getosname();

答案 1 :(得分:0)

四种类型的内部类 静态内部类, 非静态内部阶级, 当地的内部阶级, 匿名内部类,

仅通过外部类object.its为内部类访问提供其他类的访问权限