A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class  DemoTest
{
        public static void main(String[] args)
        { Demo a=new Demo();
               
        }
}
class Demo
{private int num;
private Demo(){}

}

9 个回复

倒序浏览
亲,构造函数是不能私有化的哦,Demo a=new Demo();这句话是调用Demo类的构造方法,Demo(){}

},所以不能私有哈。。。把概念理清楚咯

点评

cyr
单例模式就是要把构造函数私有化,再下面用一个公有的静态方法调用私有构造函数就可以了。  发表于 2015-4-13 08:58
回复 使用道具 举报 0 1
可以在类中提供外部访问的方法,在方法里创建并返回一个该类对象。
回复 使用道具 举报
构造函数可以私有化,目的就是不让用户去new这个类的对象。因为你直接去new这个类的对象是没有必要或是没有意义的。没有必要:比如一个类中的方法全是静态方法,这时你去new这个类的对象完全没有必要,直接拿类名调用即可。参见Arrays类。没有意义:比如InetAddress类。他在本类中提供了多个静态方法可以返回一个本类对象。
回复 使用道具 举报
用暴力反射
回复 使用道具 举报
私有了只能在本类中创建一个对象,然后提供对外方法让外部类访问,看下单例模式就知道了
回复 使用道具 举报
私有了 就不能new了 那么你就提供一个实例化对象的方法 给外部
回复 使用道具 举报
cyr 中级黑马 2015-4-13 09:01:51
8#
可以在类中添加一个获取实例的方法,如public static Demo getInstance{ return }
回复 使用道具 举报
cyr 中级黑马 2015-4-13 09:03:08
9#
可以在类中添加一个获取实例的方法,如public static Demo getInstance{ return Demo();}要获取实例的时候,直接调用getInstance方法就可以了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马