关于java的构造函数

来源:百度知道 编辑:UC知道 时间:2024/05/15 04:24:57
有的书上说java中构造一定要声明为公共(public)类型,但我在有的程序中却看到不少构造函数没有声明类型,请问构造函数一定要声明公共类型吗?谢谢,要详解

是你理解错误了,书上说的是在通常情况下,都要public,因为,一般来讲你定义构造方法的目的是为了用new来创建对象用的。如果不定义为public就不能创建对象了。这就失去构造函数的本来意义了。

但“不能创建对象”也不是也不是只有坏处没有好处的,有时候我们反而要利用这一点,就跟双刃剑一样。至于什么情况下不能定义为public,这个你现在可以不了解。楼上说的单利模式等还有其他一些情况下等等。

总之,在语法上将除了没有返回值以外,构造方法和普通方法基本上没有任何区别,可以为public 也可以不是的,根据程序的需要,都由你说了算。

不是的。有一种叫单例模式,就是吧构造函数定义成private的,
class A
{
private static final A a=new A();

private A(){
System.out.println("sdfsd");}

public static A getA(){
return a;
}
}

不一定的
有一种单件模式,是private的.

用这种模式是为了保证只会初始化一个实例.

在这个有私有构造器的类中,会有一个方法,比如getinstance(),是public的,用来调用这个构造函数. 在这个getinstance()中,一般会有IF语句,当要创建的实例为NULL,就创建,不为NULL,就直接返回这个实例.

不一定啊、找台机器实验下 只要程序能正常运行就OK啦 那安道理说Java的类首字母都要大写 可是我们总没那样也没影响什么呢、、、

你看的那本书是不是正版的呀?!
我看的书中怎么没有提到一定要声明pubic类型呀