Have a look at this again:
private ParticleEffect particle;
@Override
public void create(){...
ParticleEffect particle = new ParticleEffect();
This is called shadowing. You accidentally create a new local variable of the same type and with the same name and instantiate that instead of the field of your class.
Change it to that:
private ParticleEffect particle;
@Override
public void create(){...
particle = new ParticleEffect();