construct clone of an object and call constructor in the super class : 克隆 « 类定义 « Java 教程

En
Java 教程
1. 语言基础
2. 数据类型
3. 操作符
4. 流程控制
5. 类定义
6. 开发相关
7. 反射
8. 正则表达式
9. 集合
10. 线
11. 文件
12. 泛型
13. 本土化
14. Swing
15. Swing事件
16. 二维图形
17. SWT
18. SWT 二维图形
19. 网络
20. 数据库
21. Hibernate
22. JPA
23. JSP
24. JSTL
25. Servlet
26. Web服务SOA
27. EJB3
28. Spring
29. PDF
30. 电子邮件
31. 基于J2ME
32. J2EE应用
33. XML
34. 设计模式
35. 日志
36. 安全
37. Apache工具
38. 蚂蚁编译
39. JUnit单元测试
Java
Java 教程 » 类定义 » 克隆 
5. 18. 5. construct clone of an object and call constructor in the super class
class Box {
  private double width;

  private double height;

  private double depth;

  Box(Box ob) { 
    width = ob.width;
    height = ob.height;
    depth = ob.depth;
  }

  Box(double w, double h, double d) {
    width = w;
    height = h;
    depth = d;
  }

  Box() {
    width = -1
    height = -1;
    depth = -1
  }

  Box(double len) {
    width = height = depth = len;
  }

  double volume() {
    return width * height * depth;
  }
}

class BoxWeight extends Box {
  double weight;

  BoxWeight(BoxWeight ob) { 
    super(ob);
    weight = ob.weight;
  }

  BoxWeight(double w, double h, double d, double m) {
    super(w, h, d)
    weight = m;
  }

  BoxWeight() {
    super();
    weight = -1;
  }

  BoxWeight(double len, double m) {
    super(len);
    weight = m;
  }
}

class DemoSuper {
  public static void main(String args[]) {
    BoxWeight mybox1 = new BoxWeight(10201534.3);
    BoxWeight mybox2 = new BoxWeight(2340.076);
    BoxWeight mybox3 = new BoxWeight();
    BoxWeight mycube = new BoxWeight(32);
    BoxWeight myclone = new BoxWeight(mybox1);
    double vol;

    vol = mybox1.volume();
    System.out.println("Volume of mybox1 is " + vol);
    System.out.println("Weight of mybox1 is " + mybox1.weight);
    System.out.println();

    vol = mybox2.volume();
    System.out.println("Volume of mybox2 is " + vol);
    System.out.println("Weight of mybox2 is " + mybox2.weight);
    System.out.println();

    vol = mybox3.volume();
    System.out.println("Volume of mybox3 is " + vol);
    System.out.println("Weight of mybox3 is " + mybox3.weight);
    System.out.println();

    vol = myclone.volume();
    System.out.println("Volume of myclone is " + vol);
    System.out.println("Weight of myclone is " + myclone.weight);
    System.out.println();

    vol = mycube.volume();
    System.out.println("Volume of mycube is " + vol);
    System.out.println("Weight of mycube is " + mycube.weight);
    System.out.println();
  }
}
5. 18. 克隆
5. 18. 1. 克隆方法。
5. 18. 2. 覆写克隆方法。
5. 18. 3. 复制对象实现Cloneable
5. 18. 4. 构建克隆的对象
5. 18. 5. construct clone of an object and call constructor in the super class
5. 18. 6. 公共对象克隆CloneNotSupportedException
5. 18. 7. 转换后的克隆
5. 18. 8. 浅拷贝然后深拷贝
5. 18. 9. 利用序列进行深拷贝克隆。
5. 18. 10. 在克隆操作操控性能
5. 18. 11. 从父类克隆对象与Clone方法
5. 18. 12. 数组自动cloneable
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.