为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
反射——Java高级开发必须懂的_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

反射——Java高级开发必须懂的

Cedar
难度入门
时长 1小时20分
  • 方法的反射
    查看全部
  • 动态静态加载类
    查看全部
  • new创建对象是静态加载类,在编译时刻就需要加载所有的可能使用到的类,如果其中一个类,或者一个块编译没有通过就全不能通过,而且当 升级的时候,如杀毒,qq升级,<br> 通过动态加载类可以解决该问题, 可以用面向接口编程,这样不管要加什么样的新功能,只需要再写一个类实现接口,完成新的功能就可以了,原先写好的类,就不用再动了,也不用再重新编译,只需要把新的类编译好之后放入其中即可
    查看全部
  • Foo foo1=new Foo(); Class c1=Foo.class; Class c2=foo1.getClass(); c1==c2 true,foo1是Foo类的实力,而Foo有事Class的实力,所以c1,c2是Foo的类类型 ,一个类只可能是Class类的一个实力对象。
    查看全部
    0 采集 收起 来源:Class类的使用

    2016-01-28

  • Class这个类的构造是私有的,只有虚拟机才可以创建它的实例。
    查看全部
    0 采集 收起 来源:Class类的使用

    2016-01-28

  • 反射是编译之后的,集合的泛型是为了防止输入错误
    查看全部
  • 方法的反射
    查看全部
  • 泛型<br> 1:作用,防止错误输入,只在编译阶段有效,绕过编译就无效了,集合的泛型在编译之后就无效了 2:验证,我们可以通过方法的反射来操作,绕过编译,换句话说,我们通过反射来操作就绕过了编译就绕过了泛型了,泛型就不起作用了 3:反射的操作都是编译之后的操作,都是运行时的操作,通过Class Method类的反射操作就可以绕过泛型的约束
    查看全部
  • 方法反射<br> 1:获取方法<br> 2:方法的反射 反射机制的原理 1:根据某个类或者某个类的实例对象,获取她的类类型 2:根据类类型的API来获取对应类的属性、方法等 3:然后就可以操作对应的属性和方法了,这样就比较便利了,不具体的知道某个类的情况下,便可以操作对应的方法和属性了 4:明白上面的这些事情之后,重点的肯能就是对于Class Method Filed等类的API的援救了,平时的开发中使用的也比较少,但是框架中却使用非常普遍,因为需要抽象需要变得通用。
    查看全部
  • 1:Class class1=Foo.class; ------任何一个类都有一个隐含的静态成员变量 2: Class class2=foo1.getClass()----通过类的对象的getClass方法获得该类 class1和class2表示Foo类的类 类型(class type) Foo这个类本身就是一个对象,Foo类的对象: 3:Class class3=null; class3=Class.forName(); class1==class2==class3('=='比较的是存放该对象的内存,因为Foo这个Class类的对象只有一个,所以true)
    查看全部
    0 采集 收起 来源:Class类的使用

    2016-01-26

  • java.lang.Class——类的类<br> java.lang.reflect.Constructor——构造方法的类<br> * 构造函数也是对象 * java.lang. Constructor中封装了构造函数的信息 * getConstructors获取所有的public的构造函数 * getDeclaredConstructors得到所有的构造函数 java.lang.reflect.Field——成员变量的类<br> * 成员变量也是对象 * java.lang.reflect.Field * Field类封装了关于成员变量的操作 * getFields()方法获取的是所有的public的成员变量的信息 * getDeclaredFields获取的是 java.lang.reflect.Method——成员方法的类 * Method类,方法对象 * 一个成员方法就是一个Method对象 * getMethods()方法获取的是所有的public的函数,包括父类继承而来的 * getDeclaredMethods()获取的是所有该类自己声明的方法,不问访问权限 1:根据某个类或者某个类的实例对象,获取此类的类类型 2:根据类类型获取此类的成员变量信息、方法信息、构造函数信息 3:通过1、2这两步就能获取一个类的详细信息了,这样就能使用这个类了,这是非常牛逼的——以少取多 4:上面四个类的API是需要反复的学习和练习的
    查看全部
  • 反射的操作是在编译后进行的 Java的泛型只在编译中有效,防止错误输入的
    查看全部
  • 方法的反射 获取方法 :方法名称 ,参数列表 唯一决定 反射操作:method.invoke(对象,参数列表) Method m=c.getMethod("name",int.class,int.class) m.invoke(a1,new Object[]{2,3})用m来调用a1的方法
    查看全部
  • 获取构造函数 Constructor []cs=c.getDeclaredConstructors()封装了构造函数的信息 cs[i].getName() -----.getParametersTypes()
    查看全部
  • Class 类获取成员变量的信息 Field []fs=c.getFields() 返回public的成员变量 ----------------.getDeclaredFields() 返回所有声明的 Class ft=fs[i].getType() 获取成员的类类型
    查看全部

举报

0/150
提交
取消
课程须知
童鞋们,学习本课程前需要熟悉Java面向对象的思想,并能掌握Java IO输入输出流、集合和泛型等知识。可参考慕课网Java入门的一、二、三季以及我的文件我做主——Java IO流课程。
老师告诉你能学到什么?
1、能够理解并应用反射机制。 2、能够了解反射机制在集合泛型中的应用。 3、有利于更好的学习框架等Java高级技术。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!