Java注解

目录:

1.什么是注解

2.注解的分类

3.预定义注解

4.自定义注解

技术细节:

1.什么是注解
 

@Controller @RequestMapping() ---Spring程序看的。

@Override JVM虚拟机看。重写特点。方法名要和父类被重写的方法一致,参数列表要一致,

返回值要一致。访问修饰符不能小于父类访问修饰。抛出的异常不能大于父类异常。

如果注解不被解析,那么注解就没有任何意义。

拓展:

注释: 注释给开发人员开的。对你的代码加以解释,程序编译后该注释不可见。

注解: 注解给程序看,该注解编译后依然存在。

2.注解的分类

1.预定义注解:----JDK自带的一些常用注解。
2.自定义注解-----我们自己定义的注解
3.元注解:------注解上使用的注解。

3.预定义注解

1. @Override: 表示方法重写,只要使用了该注解必须符合重写的规则
2. @Deprecated: 表示已过时。告诉调用者该方法已过时
2. @SuppressWarnings: 表示压制警告。
3. @FunctionInterface: 函数式接口注解。使用该注解表明接口中只能有一个抽象方法。

代码演示:

package demo06;

import java.util.Date;

public class Test06 {

    public static void main(String[] args) {
        Son s=new Son();
        s.show();
    }
}
class Father{
    public void print(){
        System.out.println("这是father中的方法");
    }
}

class Son extends Father{

    @Override//检查该方法重写时是否符合重写规则
    public void print() {
        System.out.println("这是子类的方法");
    }

    @Deprecated //标记该方法过时,在调用该方法有个删除线
    public void show(){

    }
    public void showPrefect(){

    }
}
------------
public class Test03 {
    public static void main(String[] args) {

    }
}
@FunctionalInterface //该接口中有且仅有一个抽象方法 1.8以后
interface Usb{
    public void show();
}

4.自定义注解

语法:

public @Interface 注解名{//
    //属性
}
public @interface My {
}

@My
class Hello{
    @My
    public void show(@My int a){
        
    }

    @My
    public String name;
}

自定义的注解默认对代码没有任务影响,如果想让注解有意义,必须解析该注解。我们后面可以结合反射,来解析这些注解。

@Controller注解是因为Spring框架解析了它 @Override JVM解析了它。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值