java单例模式,该怎么解决

java单例模式
单例模式,就是只让实例化一个对象,很多地方讲的都是饿汉和懒汉模式,在类的内部实例化自己,再定义static方法将引用返回出去,外部通过类名.方法的方式获得引用。直接定义一个public、static、final的属性,该属性就是实例化后的引用,然后外部通过类名.属性的方法获得,这样可以吗?如果可以,和其他方式什么区别,如果不行,为什么?下面代码执行结果为true
package com.single;

public class SingleTon
{
public static void main(String[] argv)
{
Single sin1 = Single.sin;
Single sin2 = Single.sin;

System.out.println(sin1 == sin2);
}
}

class Single
{
public static final Single sin = new Single();

//私有的构造方法,只能在类内部使用,在外部是无法使用的,所以在外部new的话就编译不过了,保证了无法实例化多次
private Single()
{

}
}

------解决方案--------------------
这是一个饿汉的变种!你也可以放在静态代码块里NEW!其实是跟普通饿汉式是一样的!没有任何区别!
------解决方案--------------------
只让实例化一个对象
这个是最终的目的,已经达到,所有没有任何问题,只是不同的实现手段。
大多数Java过分的强调getter, setter不一定是好事,具体情况更需要根据实际情况合理使用。