自己生成電子簽名
你是否還在爲同學白瞟你的實驗報告而煩惱呢,你是否還在爲別人copy你的代碼而憂愁呢。下面教你一個方法,生成自己名字的電子標籤(完全是之前學過的內容,相當於是一個小回顧吧)
第一步,先生成自己名字的字節碼
public class Test {
public static void main(String[] args) {
String str = "張澳琪";
System.out.println(Arrays.toString(str.getBytes()));
//你名字的字節碼:[-27, -68, -96, -26, -66, -77, -25, -112, -86]
}
}
第二步,實現
public class ObservObject {
private final byte[] token = {-27, -68, -96, -26, -66, -77, -25, -112, -86};
// public void showCopyRight() {
// try {
// System.out.println(new String(token,"UTF-8"));
// } catch (UnsupportedEncodingException e) {
// e.printStackTrace();
// }
// }
// 這樣的方法,在調用時可以看出來,還是有點不保險。下面用另一種辦法:重寫toString
@Override //重寫toString方法,這個知識馬上會講解
public String toString() {
return "hahaha";
}
public final String toString(String tag) {//這個toString方法可以寫到父類裏面,且寫成final,子類繼承但不能再重寫這個方法。(複習一下final關鍵字)
// (把一些工具都寫在父類裏,要想實現必須繼承父類)然後交作業時父類文件只給.class類型的,就OK了。別人想改都改不了。這樣就能證明是自己的作業啦
switch (tag) {
case "whoami":
try {
return new String(token,"UTF-8");//把字節碼轉爲utf-8格式輸出
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
default:
return this.toString();
}
}
}
//全程沒有出現一個我的名字,但是最後還是會輸出我的名字
場景類
public class Main {
public static void main(String[] args) throws UnsupportedEncodingException{
ObservObject observObject = new ObservObject();
System.out.println(observObject);//輸出hahaha
System.out.println(observObject.toString("whoami"));//只要我輸入whoami就會輸出我的名字
}
}
以上就是一個小練筆,消除一下學習的枯燥過程,感興趣的同學可以試着玩一玩,也是對之前學習的東西做一個小回顧。