Eclipse错误:无法解析为某个类型

时间:2017-07-25 10:38:43

标签: java eclipse syntax constructor

所以我正在做这个模拟汽车乐器的练习。共有三个类:FuelGaugeOdometerCarInstrumentSimulator(主方法的一个)。两个第一个都有我定义的构造函数。但是每当我在main

中输入此内容时
public static void main(String[] args) {

    CarInstrumentSimulator carInstrumentSimulator = new CarInstrumentSimulator();

    FuelGauge fuel = carInstrumentSimulator.new FuelGauge();
    Odometer odometer = carInstrumentSimulator.new Odometer(0, fuel);

我总是得到一个CarInstrumentSimulator.FuelGauge无法解决为eclipse中的类型错误(对于里程表也是如此),但是我得到了这行代码来自我从({{3 }}) 我对java和编码很新,所以我想知道: 1)这种语法意味着什么:

    FuelGauge fuel = carInstrumentSimulator.new FuelGauge();

2)为什么这个语法有问题?

提前致谢^^

1 个答案:

答案 0 :(得分:1)

我认为这是source中的拼写错误。试试这个:

FuelGauge fuel = new FuelGauge();
Odometer odometer = new Odometer(0, fuel);

这个问题没有明智的答案......

  

这种语法意味着什么:   FuelGauge fuel = carInstrumentSimulator.new FuelGauge();

...因为有问题的行是胡言乱语;)

Java对象(例如carInstrumentSimulator)上的有效方法调用需要点表示法,方法名称以及开始和结束括号,例如carInstrumentSimulator.doSomething()但上面的代码没有开头和右括号,使用的单词new不是有效的Java方法名称(因为它是保留的关键字)并且遵循new通过FuelGauge()使整个事情无法解释。

有关Java方法构建的更多详细信息here

如果在FuelGauge内声明CarInstrumentSimulator,则此语法有效:

new CarInstrumentSimulator.FuelGauge(); 

同样,如果CarInstrumentSimulator公开FuelGauge的创建者方法,则此语法有效:

carInstrumentSimulator.newFuelGauge();

但是这种语法在任何情况下都无效:carInstrumentSimulator.new FuelGauge();