@Override: 限定重写父类方法, 实现接口方法。该注解只能用于方法
@Deprecated: 用于表示所修饰的元素(类, 方法,构造器等等)已过时。通常是因为所修饰的结构危险或存在更好的选择,过时是可以用的,意义只是作为一种提示,因为原来的项目中用的老的代码必须要能用,过时是给我们后面做开发的提示
@SuppressWarnings: 抑制编译器警告
警告信息在eclipse中更明显一些
比如在eclipse的main中:int i=10;但程序中没有用到i,在这一行左边就会出现黄颜色的感叹号警告
但如果在这一行或者main方法上面的那一行加了@SuppressWarnings(“unused”),警告就没有了。这个注解的值叫做unused,在IDEA中没有黄颜色的感叹号警告,如果变量没有使用,变量的颜色是灰色的。在定义变量的那一行上方加上@SuppressWarnings(“unused”),变量也就变成黑色了
比如在eclipse中,如果声明ArrayList没有用泛型,list没有用都会有警告,可以在上面加上@SuppressWarnings({“unused”,“rawtypes”}),警告就没有了
class Person{
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void walk(){
System.out.println("人走路");
}
public void eat(){
System.out.println("人吃饭");
}
}
interface Info{
void show();
}
class Student extends Person implements Info{
//Override就是注解,是在编译的过程中校验这个方法是不是重写父类的方法。实现接口中的方法也是Override
//如果把 @Override去掉,下面的方法还是重写了父类的方法,只是在编译时不会进行校验方法是不是重写
//只有方法上面才能用 @Override
@Override
public void walk() {//快速写法,walk+enter
System.out.println("学生走路");
}
@SuppressWarnings({"unused","rawtypes"})//点开它的结构,有点像类,可以往里面写多个值是因为里面有一个数组结构String[] value();
ArrayList list=new ArrayList();//注解是可以写多个值的,这些值就看做这个结构的成员变量
//接口,类可以有成员变量,只不过接口的是常量,不是变量
@Override
public void show() {//如果把show改成show1就会报错,因为加了Override注解,在编译的时候就会进行校验,要求方法一定是重写父类或者是实现接口的方法
}
}