黑马程序员技术交流社区

标题: 私有化的构造函数如何创建新对象 [打印本页]

作者: 薛大千    时间: 2015-4-12 22:26
标题: 私有化的构造函数如何创建新对象
class  DemoTest
{
        public static void main(String[] args)
        { Demo a=new Demo();
               
        }
}
class Demo
{private int num;
private Demo(){}

}
作者: 星之钥匙    时间: 2015-4-12 22:43
亲,构造函数是不能私有化的哦,Demo a=new Demo();这句话是调用Demo类的构造方法,Demo(){}

},所以不能私有哈。。。把概念理清楚咯
作者: 陈佳    时间: 2015-4-12 23:50
可以在类中提供外部访问的方法,在方法里创建并返回一个该类对象。
作者: 谷歌    时间: 2015-4-13 00:01
构造函数可以私有化,目的就是不让用户去new这个类的对象。因为你直接去new这个类的对象是没有必要或是没有意义的。没有必要:比如一个类中的方法全是静态方法,这时你去new这个类的对象完全没有必要,直接拿类名调用即可。参见Arrays类。没有意义:比如InetAddress类。他在本类中提供了多个静态方法可以返回一个本类对象。
作者: fantacyleo    时间: 2015-4-13 00:05
用暴力反射
作者: 黑马TYR    时间: 2015-4-13 00:40
私有了只能在本类中创建一个对象,然后提供对外方法让外部类访问,看下单例模式就知道了
作者: adalvik    时间: 2015-4-13 01:10
私有了 就不能new了 那么你就提供一个实例化对象的方法 给外部
作者: cyr    时间: 2015-4-13 09:01
可以在类中添加一个获取实例的方法,如public static Demo getInstance{ return }
作者: cyr    时间: 2015-4-13 09:03
可以在类中添加一个获取实例的方法,如public static Demo getInstance{ return Demo();}要获取实例的时候,直接调用getInstance方法就可以了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2