菜鸟学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就会输出我的名字
    }
}

以上就是一个小练笔,消除一下学习的枯燥过程,感兴趣的同学可以试着玩一玩,也是对之前学习的东西做一个小回顾。

你可能感兴趣的:(Java)