private-constructor相关内容
我有一个Java类,它只有静态方法和字段,所以我不希望为此创建任何对象。 我可以通过两种方式实现这一点 放弃类。 使用私有构造函数。 这两种方法哪一种更好? 推荐答案 您应该使用private构造函数。 如果您的类是抽象的,则可以对其进行扩展并创建对象。根据我从问题中的理解,您需要的是不可实例化的类。 发件人Item 4 of Effective java:
..
我绝对记得在某处看到过使用反射或其他方法这样做的示例.这与 SqlParameterCollection 有关系,它不是由用户创建的(如果我没记错的话).可惜再也找不到了. 有人可以在这里分享这个技巧吗?并不是说我认为这是一种有效的开发方法,我只是对这样做的可能性非常感兴趣. 解决方案 //构造函数参数的类型,按顺序//如果构造函数不带参数,则使用空的 Type[] 数组Type[]
..
HttpServlet 是一个包含所有实现方法的抽象类.为什么是抽象的? 我得到的最常见的答案是,限制 HttpServlet 的实例化.但是还有其他方法可以做到,例如私有构造函数会限制实例化. 我可以理解他们遵循模板方法设计模式.如果某些方法是抽象的,用户最终会实现所有方法,即使他的业务逻辑不需要它们. 但是如果 HttpServlet 不是抽象的,用户仍然可以扩展它并覆盖 r
..
如果我有以下带有私有构造函数的案例类,并且我无法访问伴随对象中的应用方法. case class Meter private (m: Int)val m = Meter(10)//不能访问 Meter 类中的构造函数 Meter... 有没有办法使用带有私有构造函数的 case 类,但将生成的 apply-method 保留在伴随的 public 中? 我知道这两个选项之间没有区别(在我
..
如果我有以下带有私有构造函数的case类,并且无法访问伴随对象中的apply方法. case class Meter private (m: Int) val m = Meter(10) // constructor Meter in class Meter cannot be accessed... 是否可以使用带有私有构造函数的case类,但将生成的apply-method保留在同
..
根据我的理解 最终成绩 最后一堂课是只是一个无法扩展的类。 具有单个无参数私有构造函数的类 除了同一个类中的表单之外,无法实例化具有私有构造函数的类。这使得从另一个类扩展它变得毫无用处。但这并不意味着它根本不能被分类,在内部类中我们可以扩展并调用私有构造函数。 所以我的理解是,如果我们用单个无参数私有构造函数创建一个类,那么将它们声明为最终并不意味着它们。然后为什么J
..
HttpServlet 是一个包含所有实现方法的抽象类。为什么它是抽象的? 我得到的最常见的答案是限制 HttpServlet 的实例化。但还有其他方法可以做到这一点,比如私有构造函数会限制实例化。 我可以理解他们正在遵循模板方法设计模式。如果某些方法是抽象的,那么即使用户的业务逻辑不需要它们,用户也会最终实现所有方法。 但是如果 HttpServlet 不是抽象的,用户仍然可以
..
实用程序类的一个常见事情是给他们一个私有构造函数: public final class UtilClass { private UtilClass(){} ... } 但不幸的是,一些工具不喜欢这个私人构造函数。他们可能会警告,它从来没有在课堂上被调用,它不在测试中,块不包含注释等。 很多这些警告如果你这样做,你可以走开: public
..
在阅读 TCPL 时,我遇到了一个问题,如标题所指,然后'private'类是: class Unique_handle { private: Unique_handle& operator =(const Unique_handle& rhs); Unique_handle(const Unique_handle& rhs); public: // ... };
..
例如,我想声明一个类,但我想客户端不能使用复制构造函数(或复制赋值运算符) 以下两个不允许使用复制构造函数: 1。 class Track { public: Track(){}; 〜Track(){}; private: Track(const Track&){}; }; 2。 class Track { public
..
可能重复: 我们在哪里需要私有构造函数?我们如何实例化具有私有构造函数的类? 解决方案 私有构造函数意味着用户不能直接实例化类。相反,您可以使用类似于命名构造函数成语创建对象,其中包含 static 类函数,可以创建和返回类的实例。 命名构造函数习语更直观地使用类。在C ++常见问题提供的示例是一个类,可以用来表示多个坐标系。 这是直接从链接拉。它是一个表示不同坐标系中的
..
我肯定记得看到某处这样使用反射或某事的例子。这是一些曾与SqlParameterCollection这不是由用户可创建做(如果我没有记错的话)。遗憾的是再也不能找到它。 任何人都可以在这里分享这一招?不,我认为这是发展一种有效的方法,我只是在做这个的可能性非常感兴趣。 解决方案 //类型构造函数的参数,以 //使用空类型[]数组,如果构造函数没有参数 类型[] paramType
..
我搜索了这个有很多,但没有一个答案是明确的(AT-至少对我来说!)。现在,我把这个问题的SO,我相信我能不能得到一个更明确的答案其他地方。 当我应该使用私有/静态构造函数在我的课? 我受够了通常的答案,所以请帮助我,用这些构造的一些实时的例子和优势/劣势。 解决方案 静态构造函数:用于初始化静态成员 私有构造函数:使用时,您只需要一个类从在自己的code(通常以一个静态方法)实例化。例如
..