永发信息网

如何禁止对象直接实例化

答案:2  悬赏:0  手机版
解决时间 2021-02-14 06:23
  • 提问者网友:城市野鹿
  • 2021-02-13 06:53
如何禁止对象直接实例化
最佳答案
  • 五星知识达人网友:佘樂
  • 2021-02-13 07:50
使用私有构造函数
class A
{
private A() {}
}
或者使用静态类
static class
{
...
}
还有抽象类:
abstract class A
{
...
}
全部回答
  • 1楼网友:空山清雨
  • 2021-02-13 09:20
1.真正禁止实例化的类,往往是作为工具类存在的。比如system.math: public static class math .net 2.0中增加了静态类的概念(static classes),所有的成员都声明为静态。 静态类禁止实例化的原因是没必要。工具类,你拿来用就是了。 2.一些设计模式 工厂模式中,有的写法是禁止产品类的实例化的。但是并不是说不实例化。而是将实例化的动作由工厂类完成。 享元模式也是如此。 单件模式,当你调用单例的时候,其实就是内部的一个判断是否需要实例化的过程。 设计模式中禁止直接实例化是为了某种原因,比如控制(单件,享元)。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯