I guess it depends, I don't think there is any kind of overhead. It all comes down to what you need from those variables and what is an easy-to-read variable placement. If you are creating bunch of variables that needs to be grouped together, it's better to create a class or a structure for it. If you just need bunch of Publicly accessed variables you can just make them global in a different Class file.
it could be like this:
private boolean gameRunning = true;
private BufferStrategy strategy;
private CreateBufferedImage bufferedImage;
private int desiredFPS = 60;
Player Class (derives from Sprite class I guess)
public double movementSpeed = 100;
public double xPosition = 50;
public double yPosition = 50;
public boolean xKeyPressed = false;
public boolean leftKeyPressed = false;
public boolean rightKeyPressed = false;
public boolean upKeyPressed = false;
private ArrayList<Image> spriteDirectionRight = new ArrayList<Image>();
private ArrayList<Image> spriteDirectionLeft = new ArrayList<Image>();
private ArrayList<Image> spriteDirectionIdle = new ArrayList<Image>();
private int spriteFrame = 0;
private long spriteFrameDuration = 300000000;
private long lastSpriteChange = 0;
I don' recommend this or anything, It's just an Idea how you could keep stuff in more organized way.
More stuff might need to be made public, I didn't really look into it that much. But my point is that you should organize your files and variables in a way thats easy to find and read for you. I don't think there's any kind of critical downside to any of those approaches.