菜鳥學JAVA之——小練習(生成電子簽名)

自己生成電子簽名

你是否還在爲同學白瞟你的實驗報告而煩惱呢,你是否還在爲別人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就會輸出我的名字
    }
}

以上就是一個小練筆,消除一下學習的枯燥過程,感興趣的同學可以試着玩一玩,也是對之前學習的東西做一個小回顧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章