type
status
date
slug
summary
tags
category
icon
password
URL
文章来源说明
概念
注解(Annotaion),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
使用注解:@注解名称
JDK中预定义的一些注解
- @Override :检测被该注解标注的方法是否是继承自父类(接口)的
- @Deprecated:该注解标注的内容,表示已过时
- @SuppressWarnings:压制警告
- 一般传递参数all @SuppressWarnings("all")
自定义注解
语法格式
- 本质:注解本质上就是一个接口,该接口默认继承Annotation接口
- public interface MyAnno extends java.lang.annotation.Annotation {}
- 属性:接口中的抽象方法
- 属性的返回值类型有下列取值
- 基本数据类型
- String
- 枚举
- 注解
- 以上类型的数组
- 定义了属性,在使用时需要给属性赋值
- 如果定义属性时,使用default关键字给属性默认初始化值,则使用注解时,可以不进行属性的赋值。
- 如果只有一个属性需要赋值,并且属性的名称是value,则value可以省略,直接定义值即可。
- 数组赋值时,值使用{}包裹。如果数组中只有一个值,则{}可以省略
例子
元注解:用于描述注解的注解
- @Target:描述注解能够作用的位置
ElementType取值:ElementType.TYPE指定注解只能修饰类或者接口 --重点ElementType.FIELD指定注解只能修饰成员属性 --重点ElementType.METHOD指定注解只能修饰方法 --重点ElementType.PARAMETER指定注解只能修饰方法的参数ElementType.CONSTRUCTOR指定注解只能修饰构造方法ElementType.LOCAL_VARIABLE指定注解只能修饰局部变量ElementType.TYPE_USE指定注解能修饰所有的 --JDK1.8后拥有的
- @Retention:描述注解被保留的阶段
RetentionPolicy.SOURCE注解信息保留在源文件中RetentionPolicy.CLASS保留在class文件中RetentionPolicy.RUNTIME注解信息在运行时保留,搭配反射使用 --重点
内部类
概念
可以将一个类的定义放在里另一个类的内部,这就是内部类。广义上我们将内部类分为四种:成员内部类、静态内部类、局部(方法)内部类、匿名内部类。
使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。
如何使用内部类
成员内部类
- 外部类 内部类
- 其它类使用成员内部类
3.小结
- 可以是任何的访问修饰符。
- 外部类如何访问内部类信息,必须new之后通过(.)操作符访问。
- 内部类可以直接使用外部类的任何信息,如果属性或者方法发生冲突,调用外部类.this.属性或者方法。
- 其它类如何访问内部类:
静态内部类
1.外部类 内部类
- 其他类使用成员内部类
3、小结【和成员内部类对比理解(区别异同)】
- 作为静态成员属性存在,可以被任意的权限修饰符修饰
- 静态内部类的方法只能访问外部类的static关联的信息。
- 利用 外部类.内部类 引用=new 外部类.内部类(); 然后利用引用.成员信息(属性、方法)调用。
• 访问内部类的静态信息,直接外部类.内部类.静态信息就可以了。
匿名内部类
- 定义接口
- 匿名内部类使用
3、小结【匿名内部类常常被用来重写某个或某些方法】
- 匿名内部类是没有访问修饰符的。
- 使用匿名内部类时,这个new之后的类首先是要存在的,其次我们要重写new后的类的某个或某些方法。


致谢:
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
- 作者:卷神
- 链接:https://blog.952712.xyz/article/2ca50ef8-9d8a-44af-bb24-57a21e70dbd0
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。





