1
/** An example class used to demonstrate how to
2
* enable cloning for a class without fields that
3
* contain object references..
4
*/
5
public class Pair implements Cloneable { //必须实现Cloneable,
6
7
private int a, b; //否则会抛出CloneNotSupportedException异常
8
9
/** Class constructor method
10
* @param initA Initial value for the first field
11
* @param initB Initial value for the second field
12
*/
13
public Pair( int initA, int initB ) {
14
a = initA;
15
b = initB;
16
}
17
18
/** Convert object to String representation
19
* @return The value of the array as a String
20
*/
21
public String toString() {
22
return "( " + a + ", " + b + " )";
23
}
24
25
/** The test method for the class
26
* @param args Not used
27
* @exception CloneNotSupportedException
28
* If clone not supported by
29
* inherited clone method
30
*/
31
public static void main( String[] args )
32
throws CloneNotSupportedException {
33
System.out.println( "examples.cloning.Pair" );
34
Pair x = new Pair( 5, 6 );
35
System.out.println( x );
36
37
Pair y = (Pair) x.clone();
38
System.out.println( y );
39
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

运行结果为:
examples.cloning.Pair
( 5, 6 )
( 5, 6 )