对于我的两个参数构造函数调用四个参数构造函数是否适合我所做的(我还在学习)。此外,它应该实例化打开间隔,所以这仍然正确吗?对于复制构造函数,我将如何创建显式值构造函数的副本?另外,如果尚未为要复制的对象分配内存,如何引发异常?
对于复制构造函数,我将如何创建显式值构造函数的副本?
Java中没有内置的。您必须手动复制要复制的字段
public LetsCallThisClassInterval(LetsCallThisClassInterval other){
this(other.left, other.right, other.stuff)
}
但是这个类看起来应该是不可变的,所以实际上不需要复制构造函数。
另外,如果尚未为要复制的对象分配内存,如何引发异常?
这在Java中不会发生。内存是为您管理的,如果您获得对象引用,则它已经正确分配。
或者你说的是other
在上面的例子中被null
?在这种情况下,您将自动获得NullPointerException
。如果您更喜欢IllegalArgumentException
(有争议),则可以添加空检查:
if (other == null)
throw new IllegalArgumentException("other interval cannot be null");
让我看看我是否做对了,你想做一个构造函数启动吗?在这种情况下,您要做的是使用构造函数(//插入相应的变量);这应该可以解决问题。
使用"this"将使构造函数引用自身,我的意思是相同的方法。例如,它会是。
public Constructor(char leftsym, double left, double right, char rightsymb){
new Constructor(left, right);
}
现在作为旁注,构造函数类已经存在于 Java 的核心类之间,我建议如果你想简化你的生活,请更改你的 java 类名,例如 Constructor_1 或类似的东西。
祝你好运