关于私有构造方法,和继承问题,求各位高手解答!!
可以告诉我这两有什么区别吗,干嘛第二个代码,编译时出现 错误: AB()可以在AB中访问private
public class CsdnTest extends AB { 一:
class AB {
static{
System.out.println("我来了。。。AB");
}
private static AB obj = new AB();
private AB() {
System.out.println("我来了。。。AB构造函数");
}
public static AB getInstance() {
System.out.println("我来了。。。实例");
return obj;
}
}
public class CsdnTest {
static{
System.out.println("我来了。。。CsdnTest");
}
public static void main(String[] args) {
System.out.println("我来了。。。main");
AB obj = AB.getInstance();
}
}
二:
class AB {
static{
System.out.println("我来了。。。AB");
}
private static AB obj = new AB();
public AB() {
System.out.println("我来了。。。AB构造函数");
}
public static AB getInstance() {
System.out.println("我来了。。。实例");
return obj;
}
}
public class CsdnTest extends AB {
static{
System.out.println("我来了。。。CsdnTest");
}
public static void main(String[] args) {
System.out.println("我来了。。。main");
AB obj = AB.getInstance();
}
}
------解决方案--------------------
如果一个类中只有一个构造方法,且被声明为private,那与将这个类声明为final无异