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

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

Cedar
难度入门
时长 1小时20分
  • JAVA-Reflect专题 万物皆对象 但基本类型int和静态成员不是面向对象的 类是对象,类是Java.lang.Class类的实例对象 Class类是私有的,只用Java的虚拟机才能创建Class的实例对象 不太懂的看源代码
    查看全部
    0 采集 收起 来源:Class类的使用

    2017-05-06

  • 反射 class
    查看全部
    0 采集 收起 来源:Class类的使用

    2017-05-04

  • Foo.class foo.getClass() Class.forName("com.pag.Foo) class1.getinstence()
    查看全部
    0 采集 收起 来源:Class类的使用

    2018-03-22

  • 三种获得类类型的方法 Foo.class foo.getClass Class.get
    查看全部
    0 采集 收起 来源:Class类的使用

    2017-05-02

  • 类是java.lang.Class类的实例化对象
    查看全部
    0 采集 收起 来源:Class类的使用

    2017-04-30

  • public class ClassUtil { public static void printClassMessage(Object obj){ //要获取类的信息,首先要获取类的类类型 Class c = obj.getClass();//传递的是哪个子类的对象 c就是该子类的类类型 //获取类的名称 System.out.println("类的名称是:" + c.getName()); /* * Method类,方法对象 * 一个成员方法就是一个Method对象 * getMethods()获取的是所有public函数,包括父类继承而来的 * getDeclaredMethods()获取的是该类自己声明的方法,不问访问权限 */ Method[] ms = c.getMethods(); //c.getDeclaredMethods(); for (Method method : ms) { //得到方法的返回值类型 System.out.print(method.getReturnType().getSimpleName()+" "); //得到方法的名称 System.out.print(method.getName()+"("); //得到参数类型---->得到的参数列表类型的类类型 Class[] paramTypes = method.getParameterTypes(); if(paramTypes.length==0){ //若没有参数,则直接返回右括号 System.out.println(")"); }else { int i = 0; //遍历打印到倒数第二个参数 for(;i < paramTypes.length-1;i++){ System.out.print(paramTypes[i].getSimpleName()+","); } //打印出最后一个参数和右括号,并换行,可以避免多出一个逗号 System.out.println(paramTypes[i].getSimpleName()+")"); } } } }
    查看全部
  • • new对象是静态加载类,在编译时就必须加载所有可能使用到的类 • 动态加载类是运行时才加载的类,可以解决因为部分类不存在而导致整个程序无法使用的问题 • 使用类类型创建对象时,可以使用面向接口编程的方式对类进行抽象,从而提高代码的重用性
    查看全部
  • 1.类也是对象,是java.lang.Class的实例对象 2.任何一个类都是Class类的实例对象,有三种表示方式: (Class的构造方法是私有的,只允许JVM调用,因此无法通过关键词new创建Class的实例对象) • 通过类名.class创建,也即说明任何一个类都有一个静态的成员变量class ○ 如:Class c1 = Foo.class; • 通过类的对象的getClass方法 ○ 如:Foo foo1 = new Foo(); Class c2 = foo1.getClass(); • 通过Class的forName方法传入类的全限定名获取 ○ 如:Class c3 = null; c3 = Class.forName("com.imooc.reflect.Foo");(会有ClassNotFoundException) • c1、c2表示的Foo类的类类型(class type) ○ 万事万物皆对象,类也是对象,是Class类的实例对象,这个对象称为类的类类型 ○ 可以通过类的类类型创建该类的对象 § 如:Foo foo2 = (Foo)c1.newInstance(); • 一个类只能是Class的一个实例对象,无论通过三种方法中的哪一种获取都一样 • 三种方法中,c1、c2为静态加载类(编译时加载),而c3为动态加载类(运行时加载)
    查看全部
    0 采集 收起 来源:Class类的使用

    2018-03-22

  • 泛型在编译期有效,运行期失效。使用反射时,泛型会失效。
    查看全部
  • 2222
    查看全部
  • 111
    查看全部
  • 111
    查看全部
  • 444
    查看全部
  • 333
    查看全部
  • 333
    查看全部

举报

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

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