java 内置注解入门

概念

注解是放在Java源码的类、方法、字段、参数前的一种特殊“注释”,
注释会被编译器直接忽略,注解则可以被编译器打包进入class文件,因此,注解是一种用作标注的“元数据”。

常见的内置注解如下

Built-In Java Annotations used in Java code
@Override
@SuppressWarnings
@Deprecated
Built-In Java Annotations used in other annotations
@Target
@Retention
@Inherited
@Documented

@Override

@Override
@Override注释可确保子类方法重写父类方法。
如果不是这样,则发生编译时间错误。

比如下面这个,子类Dog继承了父类Animal,但是重写的方法不对,(eatSomething的S写成小写了)所以会报错.

java: 方法不会覆盖或实现超类型的方法

也就是说,写错了编译会报错的,如果不写注解 @Override,就不会报错!

public class Test {
    public static void main(String[] args) throws UnsupportedEncodingException {
        Animal a = new Dog();
        a.eatSomething();
    }
}

class Animal {
    void eatSomething() {
        System.out.println("eating something");
    }
}

class Dog extends Animal {
    @Override
    void eatomething() {
        System.out.println("eating foods");
    }//should be eatSomething
}

@SuppressWarnings

@SuppressWarnings批注:用于禁止编译器发出的警告。

public class Test {
    //@SuppressWarnings("unchecked")
    public static void main(String args[]) {
        ArrayList list = new ArrayList();
        list.add("sonoo");
        list.add("vimal");
        list.add("ratan");

        for (Object obj : list)
            System.out.println(obj);
    }
}

如果不写@SuppressWarnings 会有提示需要修正,因为没写泛型,不好.
如下,在idea中会有底色提示
在这里插入图片描述
加上注解,没有错误提示了
在这里插入图片描述
当然,只是不让提示,还是可以正常运行

@Deprecated

@Deprecated注释表示此方法已弃用,因此编译器将显示警告。 它通知用户它可能会在将来的版本中删除。 因此,最好不要使用此类方法。

public class Test {
    public static void main(String args[]) {

        A a = new A();
        a.n();
    }
}

class A {
    void m() {
        System.out.println("hello m");
    }

    @Deprecated
    void n() {
        System.out.println("hello n");
    }
}

总之一句话,依旧可以用,只是建议不要用

总结

  • @Override 用于检查重写是否正确
  • @SuppressWarnings 表示忽略某些警告
  • @Deprecated 表示是否降级
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值