Cześć,
Zdefiniowałem klasę Car z klasą wew. Engine:
package logic;
public class Car
{
private String brand;
private Engine engine;
public Car(String brand, Engine engine)
{
this.brand = brand;
this.engine = engine;
}
public String getBrand()
{
return brand;
}
public void setBrand(String brand)
{
this.brand = brand;
}
public Engine getEngine()
{
return engine;
}
public void setEngine(Engine engine)
{
this.engine = engine;
}
public class Engine
{
private String fuelType;
private double capaity;
private int cylinderNumber;
public Engine(String fuelType, double capaity, int cylinderNumber)
{
this.fuelType = fuelType;
this.capaity = capaity;
this.cylinderNumber = cylinderNumber;
}
public String getFuelType()
{
return fuelType;
}
public void setFuelType(String fuelType)
{
this.fuelType = fuelType;
}
public double getCapaity()
{
return capaity;
}
public void setCapaity(double capaity)
{
this.capaity = capaity;
}
public int getCylinderNumber()
{
return cylinderNumber;
}
public void setCylinderNumber(int cylinderNumber)
{
this.cylinderNumber = cylinderNumber;
}
void startEngine()
{
System.out.println("Starting engine.");
}
}
}
W metodzie main() nie mogę utworzyć obiektu klasy Engine:
package application;
import logic.Car;
public class App
{
public static void main(String[] args)
{
Car car = new Car("BMW", new Engine("diesel", 2.0, 4));
}
}
Błąd: "Engine cannot be resolved to a type"
Jak mam sie dostać w takim razie do klasy wewnętrznej?
Jej obiekty moga być tworzone tylko w klasie, która ją zawiera?
Pozdro