- 相关推荐
Java反射机制常用API
Class是Reflection故事起源。针对任何您想探勘的class,唯有先为它产生一个Class object,接下来才能经由它唤起为数十多个的Reflection APIs。首先看看Class,反射的核心类,所有的操作都是围绕该类来生成的。
Java允许我们从多种管道为一个class生成对应的Class object:
Java代码
//运用Class.forName()
Class c1 = Class.forName("java.lang.String");
//运用getClass(),每个object都有此方法
String str = "abc";
Class c2 = str.getClass();
//运用getSuperclass(),每个class对象都有此方法
Button b = new Button();
Class c3 = b.getClass();
Class c4 = c3.getSuperclass();
//运用.class 语法
Class c5 = String.class;
Class c6 = Integer.class;//java.lang.Integer
Class c7 = java.awt.Button.class;
Class c8 = int.class;//Integer.TYPE==int.class
Class c9 = int[].class;
//运用primitive wrapper classes(原始包装类)的TYPE语法
Class c10 = Integer.TYPE;//表示基本类型int的Class实例,与int.class返回结果一样
Class c11 = Byte.TYPE;
Class c12 = Character.TYPE;
Class c13 = Short.TYPE;
Class c14 = Boolean.TYPE;
Class c15 = Long.TYPE;
Class c16 = Float.TYPE;
Class c17 = Double.TYPE;
Class c18 = Void.TYPE;
Java的访问控制
public, protected, private这些限定符和C++一样。
对于一个类来说,JAVA有package限定和public限定。一个.java文件是JAVA的编译单元,必须是含有唯一的public类,代表了这个编译单元对于其他的编译单元的接口。而其他的class都是package限定。然而这一点并没有在C++上增加任何东西。C++的编译单元是.obj文件。另一个编译单元在编译的时候,只要包含相对应的头文件,就能访问其中定义的类。但是你完全可以将一些类的定义放在实现文件中,保持你的头文件只有一个类的定义。那么你的编译单元对外就只有一个接口了。
【Java反射机制常用API】相关文章:
PHP imagick API中文简介09-12
Java数组定义常用方法08-29
折叠J2EE的核心API与组件积累10-27
Java与Java web的区别08-22
Java与Java web有什么不同01-22
员工激励机制07-23
企业激励机制07-22