发表于: 2018-02-23 17:15:29

3 658


今天完成的内容:

(1)了解反射。

一直都有听过反射这个概念,但没有花时间去学

反射的概述

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法,所以先要获取到每一个字节码文件对应的Class类型的对象。

换句话说,反射就是把java类中的各种成分映射成一个个的Java对象

例如:一个类有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个类进行解剖,把个个组成部分映射成一个个对象。

     (其实:一个类中这些成员方法、构造方法、在加入类中都有一个类来描述)

如图是类的正常加载过程:反射的原理在与class对象。

加载的时候:Class对象的由来是将class文件读入内存,并为之创建一个Class对象。

我们创建对象一般是通过new关键字创建,但是new是静态加载类,一旦找不到类就会编译不通过。但是通过反射机制创建对象一旦找不到类则抛出java.lang.ClassNotFoundException异常

Class对象的常用方法:

Constructor[] getConstructors():返回此Class对象所表示的类的所有public构造方法

Method[] getMethods():返回此Class对象所表示的类的所有public方法

Method[] getDeclaredMethods():返回此Class对象所表示的类的所有方法,与方法的访问级别无关

Field[] getFields():返回此Class对象所表示的类的所有public属性

Field[] getDecalaredDields():返回此Class对象所表示的类的所有属性,与属性访问级别无关

Object get(Object obj):得到引用类型属性值

void set(Object obj,Object val):将obj对象的该属性设置成val值。针对引用类型赋值

Object invoke(Object obj,Object args):调用类的方法,obj是执行该方法的对象,args是执行该方法时传入该方法的参数

(2)学习了一些js基础

遇到的问题:接下来该做啥有点迷茫,想试试找工作不行再进真实项目

明天的计划:继续投简历,看面试题

收获:基础知识



返回列表 返回列表
评论

    分享到