关于泛型和注解

泛型

1.什么是泛型

  

在定义类时不再去指定 成员属性、方法返回类型、参数的数据类型 用泛型标志代替 ,在创建类对象时再去指定类型

 2.为什么使用泛型

统计时x轴和y轴可能是数字的也可能是字符串,这时候就需要用到泛型

你可能会想到为什么不用object呢?

泛型 可以解决

注意: 泛型的参数类型需要是引用数据类型

3.通配符

方法传递参数时,泛型参数也需要指定类型了,泛型类型必须匹配才可以传递 ,这时候通配符 ?  就蹦出来了

 3.2限制泛型

通配符这么好用不加点限制怎么行

extends 设置形参上限 顾名思义你传递的数据类型不能比他还大

super     设置形参下限 不能比他小

众所周知object是所以类的父级

 

 4.泛型接口

定义泛型接口

它有两种实现方式 :指定类型 和 不指定类型

 

 

 5.泛型方法

既然类可以泛型化,当然方法也可以了

还记得前面说的吗 ?返回值类型、传递的参数 都可以定义为泛型

注意:泛型方法的定义跟所在类是不是泛型没有关系

注解

首先我们聊聊注释,注释是给开发人员看的,那么注解就是给程序看的

1.预定义注解

  Java 中已经定义好的注解,拿来就能用非常方便,这东西有很多就先写两个

1、@Override

用于修饰方法,表示该方法是覆盖了父类或实现了接口中的方法,如果不是,则会产生编译错误。该注解可以帮助开发者检查是否正确地重写了方法。

2、@Deprecated

用于修饰类、方法或字段,表示该类、方法或字段已经被废弃,不再建议使用,而且未来可能会被移除。该注解可以帮助开发者明确哪些代码已经过时,提示开发者应该使用替代方法。

2.自定义注解

既然别人能写,那么我们自己肯定也能写啦,自定义注解需要用 @interface 关键字进行声明

 

 

使用了自定义注解并没有任何意思,要想让他有意义,必须结合后反射来解析这些注解,并赋予相应的作用。

@Override: 他是由JVM解析了该注解

2.2属性

有些注解需要指定属性值,我们自定义怎么实现?

 

3.元注解

自定义注解哪都能用,这肯定不是我们本意

@Documented: 在生成api文档是是否含有该注解。

@Retention: 限制注解什么时候生效。【源码---javac---字节码----运行】

 @Target: 该注解可以使用在哪些地方                        

 这个很多感兴趣可以自己点开看看

随便@一个注解  然后 ctrl+单击

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值