mybatis源码分析-注解-1

来源:互联网 发布:js onscroll 编辑:程序博客网 时间:2024/05/17 22:52
package com.ilucky.mybatis.source.annotation.test1;/** * @author IluckySi * @since 20151022 * 父类是People, 子类是Adult和Child, 在子类继承父类的方法上可以添加Override注解, 这样有利于编译器帮助检查错误.  * 在父类的方法上有一个获取身高的方法getHeight(), 这个方法对于Child子类来说有点不太合适, 因为小孩的身高一直是变化的, * 所以可以在Child子类获取身高的方法上添加注解@Deprecated, 标记此方法已经过时, 不建议使用. * 这时如果在其他的地方使用Child的getHeight方法时, 编译器就会通过删除线的方式提示不建议使用此方法, 但是也不会报错, 只是警告, * 如果强制使用, 对于有强迫症的人来说,可以通过@SuppressWarnings("deprecation")注解忽略警告. */public class MainTest {    @SuppressWarnings("deprecation")    public static void main(String[] args) {        People child1 = new Child("child1", "123456", 115);        child1.getUsername();        child1.getPassword();        child1.getHeight();        Child child2 = new Child("child2", "123456", 115);        child2.getUsername();        child2.getPassword();        child2.getHeight();  // 在此处会有删除线        People adult1 = new Adult("adult1", "123456", 175);        adult1.getUsername();        adult1.getPassword();        adult1.getHeight();        Adult adult2= new Adult("adult2", "123456", 175);        adult2.getUsername();        adult2.getPassword();        adult2.getHeight();    }}
package com.ilucky.mybatis.source.annotation.test1;/** * @author IluckySi * @since 20151022 */public interface People {    /**     * 获取用户名     * @return String     */    public String getUsername();    /**     * 获取密码     * @return String     */    public String getPassword();    /**     * 获取身高     * @return int     */    public int getHeight();}
/** * @author IluckySi * @since 20151022 */public class Child implements People {    private String username;    private String password;    private int height;    public Child() {    }    public Child(String username, String password, int height) {        this.username = username;        this.password = password;        this.height = height;    }    @Override    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    @Override    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    @Override    @Deprecated    public int getHeight() {        return height;    }    @Deprecated    public void setHeight(int height) {        this.height = height;    }}
package com.ilucky.mybatis.source.annotation.test1;/** * @author IluckySi * @since 20151022 */public class Adult implements People {    private String username;    private String password;    private int height;    public Adult() {    }    public Adult(String username, String password, int height) {        this.username = username;        this.password = password;        this.height = height;    }    @Override    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    @Override    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    @Override    public int getHeight() {        return height;    }    public void setHeight(int height) {        this.height = height;    }}