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

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

Cedar
难度入门
时长 1小时20分
  • 反射基本知识点
    查看全部
  • 对得到的类方法集合的Methods的解析
    查看全部
  • 得到类方法信息的具体方法详解
    查看全部
  • 获取类信息之获取类名和所有类方法
    查看全部
  • 类类型获取方法 1.类名.class 2.对象.getclass 3.class.forName
    查看全部
  • 反射的类类型
    查看全部
  • 反射是编译之后的 注意:泛型的限定作用只在编译阶段起作用,其目的只是为了防止程序员在写代码的时候放入了错误类型的元素,当编译完成后,程序执行时,泛型不再起任何限定作用,此时如果利用反射(详见下文的反射部分),动态创建class类的对象(等于List类),然后利用方法的反射操作来调用add,就可以加入任何类型的元素了,所以绕过了编译就绕过了泛型。
    查看全部
  • 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
    查看全部
    0 采集 收起 来源:Class类的使用

    2018-03-22

  • 1.类是java.lang.Class的对象,有三种方法可以拿到类的类类型。经常使用的是Class.forName或者对象.getClass()。 2.new方法是编译期静态加载对象,需要保证编译时对象就存在且正确。使用类的类类型来加载对象是动态加载对象,运行时正确即可。 3.通过反射可以调用类的方法,哪怕是private的方法,从而修改一些默认的行为。
    查看全部
  • 方法的反射 1.如何获取某个方法 方法的名称和方法的参数列表才能唯一决定某个方法 2.方法的反射的操作 method.invoke(对象,参数列表) public class MethodDemo1{ public static main(String[]args){ //要获取prin(int,int)方法 要获取一个方法就是获取类的信息,获取类的信息首先要获取类的类类型 A a1=new A(); Class c=a1.getClass(); /* *2 获取方法名称和参数列表来决定 *getMethod获取的是public的方法 *getDelcareMethod自己声明的方法 * */ try{ .... }catch()Exception e{ //TODO Auto-generated catch block e.printStackTrace(); } } } class A{ public void print(){ System.out.println("helloworld"); } public void print(int a,int b){ System.out.println(a+b); } public void print(String a,String b){ System.out.println(a.toUpperCase()+","+b.toLowerCase()); } }
    查看全部
  • new对象是静态加载类
    查看全部
  • new对象是静态加载类
    查看全部
  • 方法的反射
    查看全部
  • 获取构造函数实例
    查看全部
  • 成员变量实例 public static void printConMessage(Object obj){ Class c = obj.getClass(); /* * 构造函数也是对象 * java.lang. Constructor中封装了构造函数的信息 * getConstructors获取所有的public的构造函数 * getDeclaredConstructors得到所有的构造函数 */ //Constructor[] cs = c.getConstructors(); Constructor[] cs = c.getDeclaredConstructors(); for (Constructor constructor : cs) { System.out.print(constructor.getName()+"("); //获取构造函数的参数列表--->得到的是参数列表的类类型 Class[] paramTypes = constructor.getParameterTypes(); for (Class class1 : paramTypes) { System.out.print(class1.getName()+","); } System.out.println(")"); } } }
    查看全部

举报

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

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