- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我和我的老师遇到了一些麻烦,我们必须在大约一个月内掌握java的概念,他说以下是可能的:
所以在Java中每个类都继承自Object类,这个类为我们提供了诸如protected Object clone()
之类的方法,例如:现在假设我们有类Car
//稍后在 main 中:
Car mycar=new Car();
//he is saying now that following is possible:
Car yourCar=(Car) mycar.clone();
但网上的每篇文章都说这是不可能的,即使我尝试编译它也是不可能的,首先因为该方法受到保护,其次因为它会抛出异常
我有什么遗漏的吗?
最佳答案
是的,只要类实现 Cloneable,您就可以使用 .clone()
而无需覆盖它。
这是一个例子:
class Car implements Cloneable {
String name;
public Car(String n) {
name = n;
}
public static void main(String[] args) throws Exception {
Car c1 = new Car("Lightning McQueen");
Car c2 = (Car) c1.clone();
System.out.println(c2.name);
}
}
这是default behavior of clone()的描述当类实现 Cloneable 但不重写 clone()
时:
this method creates a new instance of the class of this object and initializes all its fields with exactly the contents of the corresponding fields of this object, as if by assignment; the contents of the fields are not themselves cloned. Thus, this method performs a "shallow copy" of this object, not a "deep copy" operation.
关于java - 是否可以使用 clon() 方法而不覆盖它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58566358/
我和我的老师遇到了一些麻烦,我们必须在大约一个月内掌握java的概念,他说以下是可能的: 所以在Java中每个类都继承自Object类,这个类为我们提供了诸如protected Object clon
我是一名优秀的程序员,十分优秀!