-
获取类的信息 Class c1=obj.getClass()获取obj对应类的类类型 c1.getName() 获取类名 Method []ms=c1.getMethod() 返回所有public的成员方法 包括父类 ------------所有方法都是Method对象 c1.getDeclaredMethod() 返回自己定义的所有方法,不问权限 ms[i].getName() ms[i].getReturnType() 返回返回值的类类型Class c ms[i].getParameterTypes() 返回参数列表的类类型查看全部
-
int string void 等类型也可以.class 获取对应的类类型,xx.class文件 类字节码 c1.getName() 获取对应类名完整包名 getSimpleName()获取名称查看全部
-
动态加载类 编译时不检查 运行时再看有没有 Class c =Class.forName(args[0]); 通过类类型创建对象 提取借口 方便不修改也能添加新功能 IOfficeAble oa=(IOfficeAble)c.newInstance() oa.method()查看全部
-
任何一个类都是Class类的实例对象<br> Class c1=XXclass.class 任何一个类都有一个隐含的class静态成员<br> Class c2=new XXclass().getClass()<br> c1 c2 表示XXclass类的类 类型<br> c3=Class.forName("com.xxx.xxx.XXclass")<br> 可以通过类的类类型创建该类的类对象<br> XXclass xx=c1.newInstancae() XXclass 必须有无参数的构造方法查看全部
-
多次强调,在面向对象的世界里,万事万物皆对象,类也是对象、方法也是对象,通过反射机制我们能够拿到一个对象或者一个类的类类型,通过类类型我们能够获取类的所有相关的信息,比如:所有的属性信息、所有的方法信息等等。这对于框架的构建而言是及其关键的一个方便。 Class这个类的API是需要好好学习和理解的。查看全部
-
Class类的动态加载<br> 关键要弄明白编译和运行的区别:<br> 编译:简单点讲是指将人能识别的.java文件编译成JVM能识别的.class文件,此时编译器检查的主要是语法类型的错误,只要语法没问题,就能编译过去,只要.java文件中没有语法类型的错误就能被编译成.class文件<br> 运行:是具体的执行.class文件中的内容,此时出现的错误多是逻辑性的错误 静态加载类:是在编译时加载类——使用new创建的对象就是静态加载类 动态加载类:是在运行时加载类——使用Class类创建的对象是动态加载类,功能性的类,需要采用动态加载的方式比较好,可以省去再编译的操作过程。查看全部
-
Class类,在java世界里万事万物皆对象,类也是对象,类是类Class的对象。 类类型:是指一个类是类Class的实例对象,这个类本身也可以有自己的实例对象。 这里表明在面向对象的世界里,万事万物皆对象,类也是一个对象,一个类是类Class类的实例对象。 一个类只可能是Class类的一个实例对象,我们知道类或者某个类的实例对象都能表示出Class类的一个实例对象。 我们完全可以通过类的类类型(Class类的实例对象,也是一个类也是一个实例对象)创建该类的对象实例,需要有对应类的无参构造方法 不好理解,最好参考源码理解一下。查看全部
-
本次课程老师要为我们讲解的一些内容,Java开发也有几年了,不过对于反射这个专题的知识还是不太了解,今天补一补,看看我们能一起学到一些什么好玩的东东。查看全部
-
集合中的泛型是防止错误输入的,只在编译过程中有效,绕过编译,泛型就无效了查看全部
-
反射的操作都是在编译之后的操作查看全部
-
类反射查看全部
-
动态加载类查看全部
-
class类的使用查看全部
-
Arraylist的类 类型查看全部
-
Field 所有public包括父类的查看全部
举报
0/150
提交
取消