[英]Inner Nested Static Class cannot be called from another class
我在名为WeatherContract.java的文件中有一个类,它具有一个静态内部类,如下所示:
public class WeatherContract {
...
...
public static final class WeatherEntry implements BaseColumns {
...
...
}
}
现在,我试图在另一个名为TestWeatherContract.java的文件中调用内部类,如下所示
...
import com.example.android.sunshine.app.data.WeatherContract;
...
public class TestWeatherContract extends AndroidTestCase {
...
public void testBuildWeatherLocation() {
Uri locationUri = WeatherContract.WeatherEntry.buildWeatherLocation(TEST_WEATHER_LOCATION);
...
现在,在下面的行中,单词“ WeatherEntry”用红色标记,当我将鼠标悬停在单词上时,出现以下错误“无法解析符号“ WeatherEntry”。
Uri locationUri = WeatherContract.WeatherEntry.buildWeatherLocation(TEST_WEATHER_LOCATION);
请注意,导入语句中没有出现任何错误,因此我假设说明类的路径没有错误。
另外,我还有一个名为FetchWeatherTask.java的文件。 我在文件开头有以下import语句:
import com.example.android.sunshine.app.data.WeatherContract.WeatherEntry;
在这种情况下,再次在导入语句中将单词“ WeatherEntry”标记为红色,并且出现错误“无法解析符号'WeatherEntry'”。
请帮忙。 我在使用Android Studio 1.5。 我早些时候发布了这个问题,但是由于我提供的信息不完整,所以它被搁置了。 因此,我将再次发布所有详细信息。 很抱歉,如果我违反了社区规则,我是新来的。 谢谢。
WeatherEntry
是一类,而不是成员。 要访问WeatherEntry
方法,您仍然需要一个实例。 例如
WeatherContract.WeatherEntry.buildWeatherLocation(TEST_WEATHER_LOCATION);
应该
WeatherEntry weatherEntry = new WeatherContract.WeatherEntry();
weatherEntry.buildWeatherLocation(TEST_WEATHER_LOCATION);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.