我在谷歌搜索的东西,我得到了像
这样的代码public static abstract class LocationResult{
public abstract void gotLocation(Location location);
}
这是一个嵌套类,但想知道它是如何可以访问的?
答案 0 :(得分:19)
它必须是嵌套类:类上的static关键字(不是其中的方法)仅对嵌套类使用(并且语法上有效)。这样的静态成员类(在Nutshell的常用命名法中使用Java)不包含对封闭类的引用,因此只能访问其中的静态字段和方法(与非静态字段和方法不同;请参阅任何摘要Java中的嵌套类(也称为内部类)。
可以像这样访问:
public class EnclosingClass {
public static abstract class LocationResult{
public abstract void gotLocation(Location location);
}
}
EnclosingClass.LocationResult locationResult = ...
答案 1 :(得分:3)
只有嵌套类可以是静态的。通过这样做,您可以使用嵌套类,而无需外部类的实例。
因此,您可以使用extends Mainclass.LocationResult
创建一个扩展它的类,并将其与Mainclass.LocationResult instance = ...
一起使用