I have 2 classed at different pages.
The object class:
public class Sensor {
Type type;
public static enum Type
{
PROX,SONAR,INF,CAMERA,TEMP;
}
public Sensor(Type type)
{
this.type=type;
}
public void TellIt()
{
switch(type)
{
case PROX:
System.out.println("The type of sensor is Proximity");
break;
case SONAR:
System.out.println("The type of sensor is Sonar");
break;
case INF:
System.out.println("The type of sensor is Infrared");
break;
case CAMERA:
System.out.println("The type of sensor is Camera");
break;
case TEMP:
System.out.println("The type of sensor is Temperature");
break;
}
}
public static void main(String[] args)
{
Sensor sun=new Sensor(Type.CAMERA);
sun.TellIt();
}
}
Main class:
import Sensor.Type;
public class MainClass {
public static void main(String[] args)
{
Sensor sun=new Sensor(Type.SONAR);
sun.TellIt();
}
Errors are two, one is Type can not be resolved other is cant not import. What can i do? I first time used enums but you see.
enums
are required to be declared in a package for import
statements to work, i.e. importing enums
from classes in package-private (default package) classes is not possible. Move the enum to a package
import static my.package.Sensor.Type;
...
Sensor sun = new Sensor(Type.SONAR);
Alternatively you can use the fully qualified enum
Sensor sun = new Sensor(Sensor.Type.SONAR);
without the import statement
The static keyword has no effect on enum. Either use the outer class reference or create the enum in its own file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With