从另一个构造函数调用构造函数和非法参数异常

时间:2016-02-18 04:01:14

标签: java

对于我的两个参数构造函数来调用四个参数构造函数是否适合我所做的事情(我还在学习)。它也应该实例化开放区间,那么它仍然是正确的吗?对于复制构造函数,我如何制作显式值构造函数的副本?如果没有为被复制的对象分配内存,我该如何抛出异常?

2 个答案:

答案 0 :(得分:1)

  

对于复制构造函数,我如何制作显式值构造函数的副本?

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");

答案 1 :(得分:-1)

让我看看如果我做对了,你想做一个构造函数开始?在这种情况下,您要做的是使用构造函数(//插入对应的变量);应该解决问题。

使用“this”将使构造函数引用自身,我的意思是相同的方法。例如,它将是。

public Constructor(char leftsym, double left, double right, char rightsymb){
     new Constructor(left, right);
}

现在作为旁注,Constructor类已经存在于Java的核心类之间,我建议如果你想简化你的生活,你可以改变你的java类名,比如Constructor_1或类似的东西。

祝你好运