Java basic

注解

用于说明程序,是绑定到程序代码中的元数据

作用

  1. 编写文档。通过标识注解生成DOC文档
  2. 利用属性配置文件
  3. 编译检查

内置注解

@Override 重写检查
@Deprecated 标注内容已过时
@SuppressWarning 压制警告
@FunctionaallInterface 标识接口中只允许有一个抽象方法

元注解

用于描述注解的注解
@Document 被修饰类是否在JavaDOC当中
@Retention 定义注解的声明周期

SOURCE 编译期后消失
CLASS 类加载期后消失
RUNTIME 爷是永恒的

@Target 指定注解的对象。该注解可以修饰谁
@Inherited 注解是否适用于子类

自定义注解

格式

元注解
public @interface name{
   
method1();
method2() default ...
.....
}

其中在注解里定义的方法称为属性,允许的返回值有 基本数据类型 String 数组 Annotation Enum。其中default关键字可用于设置默认值
示例如下:

@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
   
    String className();
    String methodName();
    int len() default 30 ;
}

实质上,注解是一个接口,继承自Annotation

public interface com.java.learning.MyAnnotation extends java.lang.annotation.Annotation {
   
  public abstract java.lang.String className();
  public abstract java.lang.String methodName();
  public abstract int len();
}

使用注解

使用注解时,要对所有的属性赋值name=value(有默认值的可以不用)。特殊的是,当注解中仅有一个叫做value的属性,在使用时可不指定属性名,如Annotation(10)

例如: 动态设定运行函数

序列化

将JVM中对象信息转换为可以传输/存储的过程。所有可序列化的对象都要实现Serializable接口,该接口是一个标记接口,仅用于声明

// 这就是源码,里面是空的
public interface Serializable {
   
}

实现对象序列化/反序列化

  1. 首先令 要序列化对象的类 implements Serializable 接口

    public class C2 implements Serializable {
         
    private int a;
    private String obj;
    
    public C2(int a, String obj) {
         ...}
    
    @Override
    public String toString() {
         ...}
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值