Java面向对象------使用重写技术编写自己的MyString类
在子类中重写toString()
和equals()
方法。
课程笔记
1.代码
-
运行入口
package com.AcJam.test01; public class Main { public static void main(String[] args) { MyString str1 = new MyString("xxx"); MyString str2 = new MyString("zzz"); MyString str3 = new MyString("xxx"); System.out.println("str1.equals(str2) --> " + str1.equals(str2));// 输出false System.out.println("str1.equals(str3) --> " + str1.equals(str3));// 输出true System.out.println("str1 --> " + str1); // 输出xxx } }
-
MyString类
package com.AcJam.test01; public class MyString { private String str; public MyString() { str = ""; } public MyString(String str) { this.str = str; } @Override public String toString() { return str; } @Override public boolean equals(Object obj) { // 比较地址 if(this == obj) { return true; } // 强转 MyString temp = (MyString) obj; //比较长度 if(this.str.length() != temp.str.length()){ return false; } // 将String对象转换为字符数组 char[] strArray1 = this.str.toCharArray(); char[] strArray2 = temp.str.toCharArray(); // 比较两个字符数组 for(int i = 0;i < strArray1.length;i++ ){ if(strArray1[i] != strArray2[i]) { return false; } } return true; } }
-
运行结果