java - "reject"如何实例化一个类

标签 java c++

例如,

public class Test {
    Test() {
    if(xxx)//do some check here
        //reject instancing class test.
    }
}

我想我可以抛出一个异常来拒绝它,有没有其他办法? 我不确定实例化被拒绝的效果是什么,但我认为一种自然的方式是:

Test test = new Test();//return null here indicating instancing rejected.

我希望 java 和 C++ 都应该具有这种“拒绝”功能。

最佳答案

如果你想返回 null 你可以使用 Factory pattern .例如。您可以编写 Test test = TestFactory.CreateTest();,而不是 Test test = new Test();,并在 TestFactory 中实现您需要的所有检查。创建测试

new Test() 总是返回一个非空的 Test 实例(至少在 Java 中是这样)。

关于java - "reject"如何实例化一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9305701/

相关文章:

java - 使用异步方法从 java 类更新 UI

c++ - 该算法用于查找所有路径总和的时间复杂度是多少?

c++ - 更改指针后,free() 将释放多少字节?

c++ - 静态或堆栈分配数组的可变大小元素是否驻留在堆空间中?

c++ - Winsock2.h 与 winsock2.h 和 wsock32.lib 与 ws2_32.lib

c++ - Cassandra 日志中的批量写入警告

java - 订单的建模状态

java.util.function.BiConsumer<R,R>) 不适用(无法推断类型变量 R

java - 尝试通过控制台浏览类时出现 OrientDB 错误

java - 恢复 opengl 应用程序后 Android 6 上的屏幕伪像