在Java中返回超级构造函数之前括号的意义?

时间:2017-03-24 03:07:42

标签: java superclass super

我正在研究如何使用克隆方法()(不是我的想法,但我的教授)进行深层复制,并且我继续看到代码,在使用超级构造函数之前,他们将类类型放在括号中。< / p>

@Override
protected Rectangle clone() throws CloneNotSupportedException {
    return (Rectangle) super.clone();
}

super.clone()之前使用的(Rectangle)有什么意义;

我在使用时也看到过这种情况:

 public void actionPerformed(ActionEvent e) {
      if ((Rectangle)(e.getSource())).getAngle1() == 60){
          System.out.println("Angle is 60");
        } 
  }

使用(Rectangle)做同样的事情吗?

我试图为此找到文档,但我在谷歌搜索时遇到了麻烦。有人可以解释这个或指向我正确的位置?谢谢!

编辑:这已被标记为重复,我只是阅读&#34;重复的帖子&#34;,继续解释类型转换。 有人可以解释如何将ActionEvent转换为另一个类吗?周围的继承如何发挥作用?从我的角度来看,似乎ActionListner似乎没有从Rectangle继承任何内容,那么它是如何进行类型转换的呢?类型化超级构造函数也是一样的。如果我使用超级构造函数,它是否已经是Rectangle类型?

答案:你需要输入一个克隆的超级构造函数,因为clone方法返回一个对象而不是一个Rectangle!

0 个答案:

没有答案