java 注解

https://www.bilibili.com/video/av47426548?p=502

看这个即可

 

package annotation;

import java.sql.Date;

/* 
 * 注解
 * java三大基础注解
 *     1.@Override 在编译时检查是否是重写方法
 *     2.@Deprecated 用于表示所修饰的元素(类,方法等)已经过时
 *     3.@suppressWarnings 一直编译器警告
 * 
 * 自定义注解
 *     
 * 
 * jdk中的四大元注解
 *     元数据:对现有数据的修饰数据,
 *         String name = "abc",这三个结构中最核心的数据是"abc"
 *         String 和 name 是 数据的类型和名,都属于元数据
 * 元注解:对现有注解进行修饰的注解
 *     1.Retention: 用于指定该注解的生命周期,有SOURCE(源文件保留,编译器丢弃),CLASS(类保留,jvm丢弃),RUNTIME(运行保留,jvm保留,可通过反射获得)
 *  2.Target:被修饰的注解的修饰范围,(如能修饰类,方法,形参...) TYPE,FIELD,METHOD...
 *  3.Documented:javadoc不包含注解,但加了那么该修饰那么对应注解会被javadoc所包含
 *  4.Inherited:被它修饰的注解具有继承性
 *  
 * */
class Person{
    private String name;
    private int age;
    public Person(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }
    public void walk() {
        System.out.println("walk");
    }
    public void eat() {
        System.out.println("eat");
    }
}
class Student extends Person implements Info{
    public Student(String name, int age) {
        super(name, age);
    }
    @Override
    public void walk() {
        System.out.println("学生 walk");
    }
    @Override
    public void eat() {
        System.out.println("学生 eat");
    }
    
    /*@Override
    public void show1() { //这里加了个1就报错了
        // TODO Auto-generated method stub
    }
    */
    @Override
    public void show() {    
    }
}
interface Info{
    void show();
}
public class AnnotationTest {
    public static void main(String []args) {
        
        @Deprecated
        Date date = new Date(2020,10,10);
        
        @SuppressWarnings("unused")
        int num = 10;
        
    }
}

 

posted on 2019-11-14 23:08  zsben  阅读(117)  评论(0编辑  收藏  举报

导航