• 渚漪Day05——注解与反射


    注解

    注解 Annotation

    1.作用

    • 不是程序本身,可以对程序作出解释(类似于注释)

    • 可以被其他程序(编译器)读取

    2.格式

    @Override//重写的注解
    public String toString(){
        retrun super.toString();
    }
    

    还可以添加参数

    3.在哪使用

    可以附加在package,class,method,field,额外辅助信息

    内置注解

    • @Override
    • Deprecated
    • SupressWarnings

    元注解

    • 负责解释其他注解的注解
    1. @Target表示注解在哪个地方

    2. @Retention 表示在什么级别注释,SOURCE<CLASS<RUNTIME

    3. @Document表示是否将注解生成在JAVAdoc中

    4. Inheritd 子类可以继承父类的注解

    自定义主注解

    @interface 自定义注解,

    格式:@interface 注解名{定义内容}

    每一个方法实际上是声明了一个配置参数

    方法名是参数名

    返回值类型是参数的类型(Class,String,enum)

    default声明猜数默认值

    只有一个成员,参数名value()

    注解元素必须要有值

    反射

    Refection,反射机制允许程序在执行期间借助Reflection API取得任何类的内部信息,并能直接操作任何对象的内部属性及方法。

    Class类

    对象.getClass()

    Class.forname()

    类名.Class

    基本内置类型的包装类都有一个Type属性

    对象.getSuperclass

    内存分析

    加载->链接->初始化

    分析类的初始化

    package lesson5;
    
    public class test05 {
        static{
            System.out.println("Main被加载");
        }
    
        public static void main(String[] args) throws ClassNotFoundException {
            //1.主动引用
            Son son = new Son();
    
            //2.反射也会产生主动引用
            Class.forName("lesson5.test05.Son");
    
            //不会产生引用的方法
            System.out.println(Son.b);
    
            Son[] sons = new Son[5];
    
            System.out.println(Son.M);
        }
    }
    class Father{
        static int b =2;
        static {
            System.out.println("父类被加载");
        }
    }
    class Son extends Father{
        static {
            System.out.println("子类被加载");
            m=300;
        }
        static int m = 100;
        static final int M = 1;
    }
    

    .getFields()//只能找到public 属性

    .getDeclaredFields()//找到全部的属性

  • 相关阅读:
    时间工具类
    BEANUTIL 对象转JSON
    BeanUtil 对象转json
    导入jsp
    导入Excel加行公式和验证
    导入Excel
    导出Excel
    时间工具类
    python 装饰器的详细理解【多次实验】
    Python 爬虫 ajax爬取马云爸爸微博内容
  • 原文地址:https://www.cnblogs.com/ijuysama/p/12690829.html
Copyright © 2020-2023  润新知