关于对象clone()疑问,为什么要在子类中覆写该方法?

Java > Java SE [问题点数:20分]
等级
本版专家分:0
结帖率 80%
等级
本版专家分:0
等级
本版专家分:2783
等级
本版专家分:19765
勋章
Blank
黄花 2011年7月 Java大版内专家分月排行榜第二
2011年6月 Java大版内专家分月排行榜第二
Blank
蓝花 2012年1月 Java大版内专家分月排行榜第三
等级
本版专家分:14790
等级
本版专家分:153
等级
本版专家分:502
等级
本版专家分:690
yw1530

等级:

Java中对象克隆使用的Objectclone方法(Protected),为什么不能外包子类直接调用,而还要进行方法...

那Object类是被各类默认继承的,为什么clone方法还要子类覆写,不能直接调用呢?这点不懂,请教大家。下面是参考代码。 ```java package cn.classes.demo; public class 对象克隆 { public static void main...

阿里公约【推荐】慎用 Object 的 clone 方法来拷贝对象

为什么阿里Java手册推荐慎用 Object 的 clone 方法来拷贝对象? 前言 阿里Java开发手册,有这么一条建议:慎用 Object 的 clone 方法来拷贝对象对象 clone 方法默认是浅拷贝,若想实现深拷贝需覆写 clone ...

为什么阿里Java手册推荐慎用 Object 的 clone 方法来拷贝对象

阿里Java开发手册,有这么一条建议:慎用 Object 的 clone 方法来拷贝对象对象 clone 方法默认是浅拷贝,若想实现深拷贝需覆写 clone 方法实现域对象的深度遍历式拷贝 。Java对象拷贝,有浅拷贝和深拷贝两...

Java中方法的继承以及父类未被子类覆盖的方法调用的问题

子类拥有了父类的该方法只是没有显示表示,还是子类调用了父类的该方法。 为此做了一下验证 代码如下: public class One { protected void printA() { System.out.println("父类printA"); } ...

Effective Java 3rd 条目13 谨慎覆写clone

Cloneable接口目的是类作为一个混入接口,宣称它们允许克隆。不幸的是,它未能作为这个目的。它的主要缺点在于,它缺少了clone方法,而且Object的clone方法是受保护的。没有诉诸于反射(条目65),你不能调用对象的...

学习effective java-11对所有对象共同的方法覆写clone方法时请慎重考虑

 Cloneable接口最开始设计目的是打算作为最小的clone接口,如果对象实现了它的话,那么就说明该对象具有clone的权限。但是实际上接口并没有达到此要求,因为接口里面什么也没有。但是Objectclone方法,并且...

关于Java的Object.clone()方法对象的深浅拷贝

文章同步更新个人博客:关于Java的Object.clone()方法对象的深浅拷贝 引言 某些场景,我们需要获取到一个对象的拷贝用于某些处理。这时候就可以用到Java的Object.clone方法进行对象复制,得到一个...

认识Object的几个经常需要覆盖的方法——clone方法

这一个系列,我会对Object的几个方法,也就是我们自定义类的时候需要重写的几个方法做一个介绍。下面是这一个系列的主要内容: equals方法 hashCode方法 toString方法 clone方法 自定义类时考虑实现...

集合丶对象的深度复制

一丶对象复制 复制对象基本只要两步: 实现Cloneable接口 实现clone()方法,并调用父类clone() 需要注意,Object的clone()方法,具有开销小,速度快的...java继承还有个原则,就是子类覆写父类方法,访问修饰符权...

(Java)对象克隆技术

Java 支持对象的克隆操作,直接...以上方法是受保护的类型,所以在子类中必须覆写方法,而且覆写之后应该扩大访问权限,这样才能被外部调用,但是具体的克隆方法的实现还是 Object ,所以在覆写方法中...

Java语言基础学习笔记(四)

1. 在子类中,关键字super是用来调用父类方法的。不同于this引用,super不是对象的引用(根本就不存在单独的父类对象),而是绕过动态查找方法并调用特定方法的指令。 2. 可以给计划要覆写方法加上@Override注解...

Java对象的深层拷贝

思想是正确的,但结果是危险的,因为Object实现的Cloneable接口后它的clone()方法是私有的,所以其子类要想克隆,就必须覆写clone()方法在clone里面调用super.clone() 值得注意的是,super.clone()只是一

未来的C#之覆写放宽

能使用协变(covariant)返回类型,这是一个.NET中常被请求到的特性。...\\根据“对协变返回类型的建议”,规则将被放宽,使得相比于基类方法子类中的同一方法可以返回更具体的类型。除了上例给出的Clo...

第11条:谨慎地使用clone

Object clone方法受保护protected,需要覆写public Xxx clone() {return super.clone();并修正任何需要修正的域:可变引用对象} clone方法约定:x.clone() != x; x.clone().equals(x); x.clone().getClass() == x....

java的对象克隆技术clone()之浅度克隆(shallow Clone)

使两个对象(栈空间不同)具有相同的属性,需要利用java语言的对象克隆技术。对象克隆就是对象的复制,即完整的复制一个对象。java.lang.Object类的 clone()方法能够实现对象的复制。克隆技术需要类实现Cloneable...

OOP规约

1.【强制】避免通过一个类的对象引用访问访问此类的静态变量或静态方法,无谓的增加编译器的解析成本,直接用类名来访问即可。 2.【强制】所有的覆写方法,必须加@Override 注解。 说明:getObject()与 get0bject()...

java对象的浅拷贝和深拷贝

是因为每个对象都是一个Object子类,而Object提供clone方法,一个类实现了Cloneable接口就表示类具备了被拷贝的能力,如果再覆写里面的clone方法就会完全具备拷贝的能力,拷贝是内存进行的,所以性能方面比...

Java之如何实现对象的克隆

方法是实现克隆的唯一方法,所有类的对象只有调用此方法才可以进行克隆,但是此方法本身使用了protected权限,这样当不同的包产生对象是将无法调用object类clone方法,因此就需要子类覆写clo...

相关热词 c#绘制图形时界面闪烁 c# emgucv 行人 c# datable合并 c# if折叠 c# 设置全局锁 c# 如何定义全局变量 c# 获取剪切板内容 c#推箱子重新开始 c# 读取接口数据 c#配置 mysql