场景:
public class UtilityClass {
// Suppress default constructor for noninstantiability
private UtilityClass() {
throw new AssertionError();
}
}
public class UtilityClass {
// Suppress default constructor for noninstantiability
private UtilityClass() {
throw new AssertionError();
}
public static UtilityClass getInstance()
{
return new UtilityClass ();
}
}
public class Test {
public static void main(String[] args)
{
UtilityClass one = UtilityClass .getInstance();
}
}
public class SubUtilityClass extends UtilityClass {
}
public class Test {
public static void main(String[] args)
{
// UtilityClass one = new UtilityClass();
}
}
原文:http://www.cnblogs.com/ttylinux/p/4355779.html