顿悟JAVA,自己实现Object的Clone的约束关系(上)
来源:互联网 发布:域名未授权解析 编辑:程序博客网 时间:2024/04/24 23:32
因protected 的理解,顿悟一些JAVA的原理,模拟了Object类的子类为什么在调用clone方法前实现Cloneable接口。
这里不解释 ,上代码先。
运行效果
文件结构
调用类
package com.tarena.android.javabasic.useInterface;public class UseInterface {public static void main(String[] args) {SubclassFatherHaveAinterfaceTestA a = new SubclassFatherHaveAinterfaceTestA();SubclassFatherHaveAinterfaceTestB b = new SubclassFatherHaveAinterfaceTestB();try{a.LikeClone();b.LikeClone();}catch(Exception e){System.out.println(e.getMessage());}}}
接口
package com.tarena.android.javabasic.useInterface;public interface LikeCloneable {//啥也没有 和 Cloneable一样的}
基类
package com.tarena.android.javabasic.useInterface;public class myclassUseFace {//模仿Object 类来实现自己的clone规则,子类必须实现某个接口,这里是LikeCloneableprotected void LikeClone() throws CloneNotSupportedException {if(this instanceof LikeCloneable){System.out.println("必须实现LikeCloneable接口才能调用我,这个对象显然是实现了这个接口才看到我");}else{CloneNotSupportedException e = new CloneNotSupportedException("没有实现接口的惩罚");throw e;}}}
子类1
package com.tarena.android.javabasic.useInterface;public class SubclassFatherHaveAinterfaceTestA extends myclassUseFace implements LikeCloneable {public void LikeClone(){try {super.LikeClone();} catch (CloneNotSupportedException e) {System.out.println(this.getClass().getName()+"如果本对象的类内有实现LikeCloneable接口,那么这一句话就会出现");}}}
子类2
package com.tarena.android.javabasic.useInterface;public class SubclassFatherHaveAinterfaceTestB extends myclassUseFace {public void LikeClone(){try {super.LikeClone();} catch (CloneNotSupportedException e) {System.out.println(this.getClass().getName()+"如果本对象的类内有实现LikeCloneable接口,那么这一句话就会出现");e.printStackTrace();}}}
- 顿悟JAVA,自己实现Object的Clone的约束关系(上)
- 顿悟JAVA,自己实现Object的Clone的约束关系(下)
- Java Object的clone方法
- 学习JAVA的顿悟
- 心学史上的顿悟
- Java中Object类的clone()(克隆)方法
- 详解java中Object的clone方法
- Java的clone方法(上)
- Object的clone方法
- Object 的clone方法
- Object的clone方法
- 为什么调用Object的clone方法却可以使得自己类中的对象被clone呢?
- java 实现对象的clone
- Java-Object的clone方法 protected的相关问题。
- Object.clone()方法引申出的浅克隆、深克隆、java原型模式的实现、不可变类的实现
- Java 中 Object.clone() 方法以及protected 的一点思考
- Java:由Object.clone()而引出的protected权限问题
- Java Object的clone方法浅复制和深复制
- LeetCode - Climbing Stairs
- C++模板类的继承2:普通类继承模板类
- C数组与指针(1)
- 关于sql的full outer join,left join,right join,inner join, cross join 的说明
- ACM系统中经常遇到的问题
- 顿悟JAVA,自己实现Object的Clone的约束关系(上)
- one of the key features of distributed application-cost
- KMP 算法学习
- Vmware中Redhat 9.0与Windows文件传输和共享方式之——CDROM——ISO
- Java当中计算关于程序运行时间的函数
- VMware打造android环境
- C#读写配置文件(XML文件)
- C内存分配的学习帖子
- 1231