简单讨论一下注解和函数接口。
注解
在Java中,我们很少见到注解,主要可能也就实现接口的方法或重写父类的方法,见到@Override这个注解。
那么注解是干什么的的呢?
我理解,可以校验,还是比如重写,你加不加@Override,都可以重写方法或实现方法,但是它可以在写的时候,判断是否把重写的方法名写对了。
也可以提醒程序员,这个方法不可用不建议用,比如@Deprecated注解,它告诉你这个方法过时了,它可能有问题,有新的更好的解决方法。
也可以在编译器提示程序员,这个方法是干啥的,参数是啥,返回类型是啥,做成文档注解。
还可以预加载,在学Serlvet或者Spring,总是要配置各种各样的xml。而注解,把这些xml配置以注解的形式告诉编译器去哪找。给你省去了这些麻烦重复的事,让你有更多的事情去写代码。
注解在Java se中可能用的很少,但在以后的学习,注解可能越用越多,可能注解比代码还多。
我也只是了解,会用。当然你也可以写写自己的注解。
函数接口
它也是一个注解,@FunctionalInterface ,为啥我会讲它呢,因为lambda,lambda在其他语言就是函数,只是在Java中,没函数这个概念,所以才有这个注解。
函数简单的定义就是F(x) = y。输入0或多个数,得到一个答案。
函数接口就这样,你只可以在这个接口,定义一个方法,这个方法输入0或多个值,得到一个结果。
1 | public class FunctionTest { |
当然还是为lambda服务,看的懂吗?看起来有点乱,其实就是一个类,输入一个字符串,而输出由函数接口里实现的方法完成的。
写这个看着其烦的,明明输出一个字符串加其他内容就行。还定义一个接口和类,类传入值,接口实现方法,类的输出就是接口一系列的操作得到的结果。
但主要还是要理解lambda。文笔不好,见谅…..