【发布时间】:2011-08-16 08:24:18
【问题描述】:
我是 Eclipse 和 Java 新手。
我想知道以下是否是 Eclipses 编译器或我的安装中的错误。
我在公共类中定义了一个公共类来定义服务方法的返回类型。
public class ServiceThing {
public class ReturnType {...}
public ReturnType serviceMethod (...) {...}
...
}
在调用服务方法的类中,我创建了一个 ReturnType 来保存默认消息:
ReturnType returnType = new ReturnType(...);
当尝试构建它时,我收到以下错误:
构建工作区: 构建过程中发生错误。 在项目“XXXX.android”上运行构建器“Java Builder”时出错。 java.lang.ArrayIndexOutOfBoundsException
保存失败: 保存失败; java.lang.NullPointerException
我发现需要的语法是:
ServiceThing serviceThing = ...;
ReturnType returnType = serviceThing.new ReturnType(...);
但是编译器无论如何都不应该生成 nullpointerException。
【问题讨论】:
-
请问为什么在公共类里面需要一个公共类?如果它是公开的,为什么不把它做成一个完全独立的类呢。
-
这只是为了强烈表明课程的意图。纯粹用于服务调用的返回类型。如果我把它放到单独的文件中,我认为它看起来会很乱,因为它没有自己的生命