I have a particle system class:
public class ParticleSystem<P extends Particle>{
...
}
I then try to extend this class with an internal ParticleImpl class:
public class BasicParticleSystem extends ParticleSystem<ParticleImpl>{ // <-- Error
...
private class ParticleImpl extends Particle{
...
}
}
However, the compiler complains that “ParticleImpl cannot be resolved to a type”. Eclipse proposes importing the class manually, but does not do anything when I choose that option.
EDIT:
I found a solution. Manually importing the inner class and changing the visibility makes it compile:
import blah.BasicParticleSystem.ParticleImpl;
public class BasicParticleSystem extends ParticleSystem<ParticleImpl>{
...
class ParticleImpl extends Particle{
...
}
}
It’s still weird as hell.