为什么java中的类里面还能声明一个静态的自己

如题,感觉这种情况好诡异,能不能解释一下下面这段代码的流程呢?代码如下
public class CameraInterface {
private static final String TAG = "yanzi";
private Camera mCamera;
private Camera.Parameters mParams;
private boolean isPreviewing = false;
private float mPreviwRate = -1f;
private static CameraInterface mCameraInterface;
private CameraInterface(){};

可以自己调用自己啊

这很正常,一个是类的定义,一个是对象的定义。这很正常。而且这是一种常见的做法,参见设计模式的单键模式

这是组合,一个类可以有一个本类型的实例对象作为成员变量的,例如单例模式中就是这样的。