Java 实战:二维空间圆的原型模式浅克隆实现
以下是使用 Java 实现原型模式对二维空间的圆 `Circle` 进行浅克隆的示例代码: ```java class Point { int x; int y; Point(int x, int y) { this.x = x; this.y = y; } // 重写 clone 方法进行浅克隆 @Override protected Point clone() { try { return (Point) super.clone(); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } } } class Circle implements Cloneable { Point p; int r; Circle(Point p, int r) { this.p = p; this.r = r; } // 重写 clone 方法进行浅克隆 @Override protected Circle clone() { try { Circle clone = (Circle) super.clone(); // 浅克隆,只复制对象的引用 clone.p = this.p.clone(); return clone; } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } } public static void main(String[] args) { Point p1 = new Point(10, 20); Circle c1 = new Circle(p1, 5); // 进行浅克隆 Circle c2 = c1.clone(); // 修改原始对象的属性 c1.p.x = 30; // 打印克隆对象的属性 System.out.println("克隆对象 c2 的原点坐标: " + c2.p.x + ", " + c2.p.y); } } ``` 在上述代码中,`Point` 类和 `Circle` 类都实现了 `clone` 方法来支持浅克隆。在 `Circle` 的 `clone` 方法中,对内部的 `Point` 对象也进行了克隆操作。 ######[AI写代码神器 | 442点数解答 | 2024-11-07 16:26:29]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)438
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)337
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1232
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)382
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)352
- "Java Code: Uncovering Stock Statistics through CSV File Reading"(字节豆包 | 66点数解答 | 2024-11-13 15:31:04)347
- Java 继承实现:重温经典剪刀石头布游戏(字节豆包 | 451点数解答 | 2024-10-20 19:57:58)485
- Java实现日期递增:无数据返20250901,遇20250901返20250902及开发注意要点 (DeepSeek | 242点数解答 | 2025-09-02 11:39:53)96
- 深度解析:Vue中MVVM模式的组成、原理与双向数据绑定优势 (阿里通义 | 249点数解答 | 2023-11-09 00:56:24)278
- Android开发:Kotlin实现Builder模式示例及优势解析(百度文心 | 456点数解答 | 2023-11-09 17:29:15)262
- 工程师必知:PO模式与Page Factory的深度解析(百度文心 | 132点数解答 | 2023-11-09 18:33:18)295
- 2026 年苍溪县印刷企业年报工作:现状、问题与未来举措(字节豆包 | 1245点数解答 | 2026-03-09 12:55:05)28