黑猴子的家:Scala 什么是注解

1、概念

注解是哪些你插入到代码中,以便有工具可以对它们进行处理的标签。
工具可以在代码级别运作,也可以处理被编译器加入了注解信息的类文件。
注解在Java中被广泛使用,例如像Junit4 这样的测试工具,以及企业级技术(Java EE)
注解的语法和Java 一样,例如

@Test(timeout = 100) def testSomeFeature(){…..}

@Entity class Credentials{
  @Id @BeanProperty var username:String = _
  @BeanProperty var password:String = _
}

你可以对Scala 类使用Java 注解。上述示例中的注解来自Junit和JPA,而这两个Java框架并不知道我们用的是Scala。

你也可以用Scala注解,这些注解是Scala特有的,通常由Scala编译器或者编译器插件处理。(实现编译器插件并不是一个小工程,其不在本章节讨论)

Java 注解并不影响编译器如何将源码编译成字节码,它们仅仅是往字节码中添加数据,以便外部工具可以利用它们。而在Scala中,注解可以影响编译过程。举例来说@BeanProperty注解将触发getter和setter方法的生成

2、简单理解

注解就是标签。
标签是用来标记某些代码需要特殊处理的。
处理的手段可以在代码运行时操作,也可以在编译期操作。

3、运行期

sql 数据反射到Java bean里面去,有的时候字段名字或者大小写,不一样,使用注解,这个注解就是运行期

4、编译期
class Father{

}
class Dog extends Father{
   @Override
   public void log(){
      ……
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值