Java语言Class文件是什么
Java语言Class文件是什么
Java语言Class文件是什么
一,class类有什么用?
class类的实例表示java应用运行时的类class ans enum或接口interface and annotation每个java类运行时都在JVM里表现为一个class对象,可通过类名.class,类型.getClass,Class.forName“类名"等方法获取class对象。数组同样也被映射为为class 对象的一个类,所有具有相同元素类型和维数的数组都共享该Class 对象。基本类型boolean,byte,char,short,int,long,float,double和关键字void同样表现为class 对象。
二,class类的特征
class类没有公有的构造方法,它由JVM自动调用在new对象或者加载-classLoader时。
下面的方法作用是打印出对象的class name:
void printClassNameObject obj
System.out.println"The class of " + obj +
" is " + Name;
同样可以根据class literal 获得class name:
System.out.println"The name of class Foo is: "+Name;//你可以将Foo改为void尝试下。
三,class的主要方法
class类的方法还是挺多的。主要是用于得到运行时类的相关信息可用于反射。
重要的几个方法:
1,public static Class forNameString className :natice 方法,动态加载类。非常重要。
如在sql中动态加载驱动程序:class.forNamesqlDriver;
2,public T newInstance :根据对象的`class新建一个对象,用于反射。非常重要。
可用在反射中构建对象,调用对象方法:
class doubleClass= class.forName"java.lang.Double";
Object objDouble = wInstance;
如在javaBean中就应用了这个方法,因为java默认要有一个无参构造函数。
3,public ClassLoader getClassLoader :获得类的类加载器Bootstrap ,Extension ,System or user custom ClassLoader一般为system classloader。重要。
java反射获取父类属性4,public String getName :获取类或接口的名字。记住enum 为类,annotation为接口。重要
5,public native Class getSuperclass:获取类的父类,继承了父类则返回父类,否则返回java.lang.Object。返回Object的父类为空-null。一般
6,public java.URL getResourceString name :根据字符串获得资源。
7,其他类
public boolean isEnum :判断是否为枚举类型。
public native boolean isArray :判断是否为数组类型。
public native boolean isPrimitive :判断是否为基本类型。
public boolean isAnnotation :判断是否为注解类型。
public Package getPackage :反射中获得package,如java.lang.Object 的package为java.lang。
public native int getModifiers :反射中获得修饰符,如public static void等。
public Field getFieldString name:反射中获得域成员。
public Field[] getFields :获得域数组成员。
public Method[] getMethods :获得方法。
public Method getDeclaredMethodString name, Class. parameterTypes:加个Declared代表本类,继承,父类均不包括。
public Constructor[] getConstructors :获得所有的构造函数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。