class A{
A(int i){
}
}
A obj=new A(1);
Run Code Online (Sandbox Code Playgroud)
如果我传递正数,则创建对象时必须创建对象.一个obj = new A(-1); 如果传递了negetive数字,则不得创建对象.
如何调整构造函数来执行此操作
如果您不想创建对象,请不要调用new.调用new 始终会创建一个对象,即使它因异常而被抛弃.如果您只是想避免调用者因构造函数调用而接收到对象,则可能会使构造函数抛出异常.如果您希望它们只是接收空引用,则不能在构造函数中执行此操作.
但是,您可以使用静态方法,然后有条件地调用new或返回null:
public class A
{
public static A createIfNonNegative(int i)
{
return i < 0 ? null : new A();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
173 次 |
| 最近记录: |