广州中公优就业IT培训学校

试听课 + 活动课
填写信息优先获取试听课

位置:学校首页 > 学校动态>广州越秀区web前端培训机构收费标准一览

广州越秀区web前端培训机构收费标准一览

Java主要提供了5个标准注解,分别是:Override、Deprecated、SuppressWarnings、SafeVarargs和FunctionalInterface。本文将从“如何使用这5个标准注解”,还有编译器在编译时:“如何处理它们”来讲述。一起来看Java标准注解的学习总结吧!

1、Override

注解就是标记,而标记就是描述一个功能,那么Override这个标准注解的功能就是重写父类方法。大家可以先复习一下关于Java继承的概念,我们如果在某个方法上加上这个注解,就表示该方法继承并重写父类的同名方法,如下所示:

publicclassParentClass{

publicvoidhello(){

System.out.println("HelloWorld!");

}

}

publicclassSubClassextendsParentClass{

@Override

publicvoidhello(){

System.out.println("HelloJava!");

}

}

上边是父类ParentClass,里面包含一个方法hello(),下边是ParentClass的子类SubClass,子类   SubClass里也有一个同名的方法hello(),该方法上面出现了Override注解,说明该hello方法重写了父类的hello方法。当编译器编译代码时如果发现Override标记的方法名和重写的父类方法名不一致就会告警。

2、Deprecated

Deprecated注解的功能就是标记一个元素(类、方法或类成员属性)为已过期。所以,我们如果在识别为过期的类、方法或类成员属性上加上这个标记,就表示该类、方法或属性已经废弃。如下所示:

publicclassDeprecatedDemo{

@Deprecated

publicvoidhello(){

System.out.println("HelloWorld!");

}

}

hello方法上出现了Deprecated注解,说明该方法已过期(废弃)。当编译器编译时遇到了使用@Deprecated修饰的类、方法或属性时就会提示元素过期的警告信息。

3、SuppressWarnings

SuppressWarnings的功能就是抑制编译器编译时产生警告信息,其中该注解可以使用以下几个属性来抑制告警信息:

所以,假设我们在某个方法或者类成员属性上加上这样的标记,就像下面这样:

publicclassSuppressWarningDemo{

@SuppressWarnings("unchecked")

publicMapcast(){

Objectobj=newObject();

return (HashMap<String,String>)obj;

}

}

cast方法上出现SuppressWarning注解,同时,注解属性为unchecked,表示忽略方法内出现了未经类型检查的obj对象强制转换成HashMap结构的情况。@SuppressWarnings(“unchecked”),就是让编译器在编译时发现该方法或语句为unchecked未经类型检查的转换时,忽略告警。注解的其他属性类似。

4、SafeVarargs

SafeVarargs是从JDK1.7以后才引入的标准注解,从字面上理解,它的功能就是对方法内非类型安全的变量操作进行告警。我们在某个方法上加上这样的标记,如下所示:

publicclassSafeVarargs{

@SafeVarargs

publicstaticvoidm(List<String>...lists){

Object[]array=lists;

List<Integer>tmpList=Arrays.asList(42);

array[0]=tmpList;

Strings=lists[0].get(0);

}

}

因为array变量是一个Object类型,是不确定明确数据类型的,而tmpList变量是一个明确Integer的List类型,所以,当把tmpList赋值给array时,就是把明确类型变量赋值给不明确类型的变量,SafeVarargs作用就是忽略这种警告。所以,当编译器编译发现一个方法上标记了SafeVarargs注解,就会忽略该方法内非类型安全的变量操作的告警。

5、FunctionalInterface

FunctionalInterface是JDK1.8之后新增的标准注解,它的功能就是检查被标记的接口是否是一个函数接口。

如下所示:

@FunctionalInterface

publicinterfaceFunctionalInterfaceDemo{

voidhello();

}

上面的接口类FunctionalInterfaceDemo被标记了FunctionalInterface注解,表示该类里面的接口方法hello()实现必须是函数式编程,如果不是,就会出现告警。所以,顾名思义,当编译器编译发现一个接口类上标记了FunctionalInterface注解,就会检查该接口类的接口方法实现是否为函数式编程,如果不是,编译器就会产生警告信息。

好了,讲到这里,我们就把Java的5个标准注解全部学习完了。大家觉得本文的学习总结好理解吗?如果本文对你有帮助,欢迎大家转发并收藏!

领取试听课
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网