Я думаю, вам нужно сделать это:
private static final Camera.Size SIZE;
static {
Camera mCamera = Camera.open();
SIZE = mCamera.new Camera.Size(640, 480);
}
или ...
private static final Camera.Size SIZE =
(Camera.open()).new Camera.Size(640, 480);
Однако все это кажется немного ненадежным. Объект, связанный с SIZE
, будет привязан к экземпляру Camera
, который иначе недоступен.
Я подозреваю, что Camera.Size
действительно должен быть классом static
... учитывая то, как вы его здесь используете.
public class Camera {
public static class Size { ... }
...
public static final Size SIZE = new Size(...);
...
}