1 package com.jdk7.chapter1;
2
3 public class ComplexNumber {
4
5 private double realPart;
6 private double imagePart;
7
8 public double getRealPart() {
9 return realPart;
10 }
11
12 public void setRealPart(
double realPart) {
13 this.realPart =
realPart;
14 }
15
16 public double getImagePart() {
17 return imagePart;
18 }
19
20 public void setImagePart(
double imagePart) {
21 this.imagePart =
imagePart;
22 }
23
24 @Override
25 public String toString() {
26 return "realPart=" + realPart + ", imagePart=" + imagePart + "i"
;
27 }
28
29 /**
30 * 默认构造函数
31 */
32 public ComplexNumber(){
33 this.realPart = 0.0
;
34 this.imagePart = 0.0
;
35 }
36
37 /**
38 * 自定义带参构造函数
39 * @param a
40 * @param b
41 */
42 public ComplexNumber(
double a,
double b){
43 this.realPart =
a;
44 this.imagePart =
b;
45 }
46
47 /**
48 * 复数相加
49 * 返回复数类型
50 * @return
51 */
52 public ComplexNumber add(ComplexNumber comn){
53 if(comn==
null){
54 System.err.println("对象不能为null"
);
55 return new ComplexNumber();
56 }
else{
57 return new ComplexNumber(
this.realPart+comn.realPart,
this.imagePart+
comn.imagePart);
58 }
59 }
60
61 public static void main(String[] args) {
62 ComplexNumber a =
new ComplexNumber(1,2
);
63 // ComplexNumber a = new ComplexNumber();
64 // ComplexNumber a = null;
65 ComplexNumber b =
new ComplexNumber(1,2
);
66 // ComplexNumber b = new ComplexNumber();
67 // ComplexNumber b = null;
68 // 被加数不能为null
69 // System.out.println("(a+b) = "+a.add(b).toString());
70
71 //a和b的值虽然相同,但是在声明为类类型变量时为不同的内存地址,object提供的equels方法比较的是内存地址
72 System.out.println("(a==b) : "+
a.equals(b));
73 //对象实例内存地址不同,hashcode也不相同
74 System.out.println("hashcode of a: "+
a.hashCode());
75 System.out.println("hashcode of b: "+
b.hashCode());
76 try {
77 System.out.println(a.clone());
78 }
catch (CloneNotSupportedException e) {
79 e.printStackTrace();
80 }
81
82 }
83
84 }
转载于:https://www.cnblogs.com/celine/p/8242916.html
相关资源:数据结构—成绩单生成器