`
realreal2000
  • 浏览: 77735 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java.lang.Class

阅读更多
今天没有事的时候看了下Class的代码,发现了不少有意思的东西。

第一个就是Class的构招函数是private的,上面还有一段解释,就是只有jvm才能生成Class对象。

还有就是forName(String Name)这个方法,这个方法,会按照这个名字载入类,然后在通过

T newInstance 这个方法,就可以动态的生成instance了,不过它只能调用无参数的构造函数生成insatcne.

forName(String Name,boolean ,ClassLoader),这个方法是forName(String Name)里默认调用的方法,可以看出所有的类都是通过ClassLoader载入的

通过Class这个类还可以获得很多有用的东西例如方法啊,构造函数啊,还有实现了那些接口啊什么的,记得在书里看到过,正是因为java有Class这个对象,才让java具备了运行间查看类详细的条件,实现映射的功能。

通过CLass这个类,在使用面向接口编程,就可以实现一个简单的工厂,如果深入一些的话,也可以象,Spring那样实现复杂的工厂。
分享到:
评论

相关推荐

    java.lang.UnsupportedClassVersionError Bad version number in .class file异常的解决办法

    ### java.lang.UnsupportedClassVersionError: Bad version number in .class file 异常的解决办法 #### 一、问题概述 在使用MyEclipse进行Java开发的过程中,可能会遇到`java.lang.UnsupportedClassVersionError:...

    java.lang.Class类

    Java.lang.Class类 Java.lang.Class类是Java语言中一个非常重要的类,它封装了对象和接口的运行时状态。当Java程序在运行时,Java虚拟机(JVM)会对所有对象进行类型标识,这项信息记录了每个对象所属的类。Class类...

    java.lang.NoSuchFieldError: STRING

    解决 java.lang.NoSuchFieldError: STRING at org.jbpm.identity.hibernate.PermissionUserType. 不用jbpm的jbpm-identity.jar 用这个就好

    java.lang.OutOfMemoryError处理错误

    java.lang.OutOfMemoryError处理错误 java.lang.OutOfMemoryError是Java虚拟机(JVM)中的一种常见错误,发生这种错误时,JVM将无法继续运行,程序将崩溃。这种错误的出现通常是由于Jvm的内存不足或内存泄露导致的...

    org.apache.commons.lang jar包下载(commons-lang3-3.1.jar)

    commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE....

    java.lang.OutOfMemoryError解决办法

    Java中的`java.lang.OutOfMemoryError`是一种常见的运行时错误,通常表示应用程序在尝试分配内存时遇到了问题。根据提供的信息,这个错误主要涉及到两个方面:`PermGen space`和`Java heap`,并且与Tomcat服务器相关...

    org.apache.commons.lang jar包下载

    commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE....

    java.lang.class源码-datanucleus-cache:修复java.lang.IncompatibleClassChange

    当我们使用`Class.forName()`加载类时,Java虚拟机(JVM)会解析类的字节码,生成对应的`Class`对象。这个过程涉及到类加载器(ClassLoader),它是JVM的一部分,负责查找和加载类。 在`java.lang.Class`中,`new...

    java.lang.NoSuchMethodError异常处理要点.doc

    在Java编程中,`java.lang.NoSuchMethodError`异常是一个运行时异常,通常发生在程序试图执行一个不存在的方法时。这个异常的出现通常意味着编译时和运行时的类版本不匹配,或者是在编译期间存在而运行时不存在的...

    java.lang.IllegalArgumentException: Class not found: org.apache.Struts2.validato

    ` 或者 `Class<?> clazz = Class.forName("org.apache.struts2.validator");` 5. **源码缺失**:如果标签提到“源码”,可能是在进行源码级别的调试或分析。在这种情况下,确保你已经下载了Struts2的源码,或者你的...

    java.lang包介绍

    `java.lang`包中最基本的类是`Object`,它是所有类层次结构的根,而`Class`类的实例则代表运行时的类。 `java.lang`包包括以下关键类: 1. **Boolean**: 表示布尔值`true`和`false`。 2. **Long, Short, Byte, ...

    class.getMethods()

    在Java编程语言中,`Class.getMethods()`是一个非常重要的方法,它属于`java.lang.Class`类。这个方法用于获取指定类或接口的所有公共方法,包括继承自超类和实现的接口的方法。`getMethods()`返回一个`Method`对象...

    java.lang.ClassNotFoundException: net.sf.ezmorph.MorpherRegistry

    总的来说,解决 "java.lang.ClassNotFoundException" 的关键在于正确管理和配置项目的依赖,确保所有必要的类都能在运行时被正确加载。通过仔细检查和调整上述步骤,你应该能成功地解决这个问题并继续进行JSON转换...

    出现Exception in threadmain java.lang.NoClassDefFoundError的各种可能情况.doc

    在Java编程中,遇到“Exception in thread 'main' java.lang.NoClassDefFoundError”是一种常见的异常情况,这通常意味着JVM在运行时未能找到指定的类定义。此错误不同于ClassNotFoundException,后者发生在尝试加载...

    Java.lang.reflect 包下常用的类及方法简介

    每个类在内存中都有一个唯一的`Class`实例,可以通过`Class.forName()`方法获取,或者通过`Object.getClass()`方法从对象中获取。 - `getConstructors()`:返回类的所有公共构造函数。 - `getDeclaredConstructors...

    resolver_java_wsdl.jar

    at java.lang.ClassLoader.loadClass(ClassLoader.java:667) at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:119) at java.lang.ClassLoader.loadClass(ClassLoader.java:650) at ...

    java.lang.NoClassDefFoundError org.apache.xml.serializer.TreeWalker.doc

    在jsp运行过程中,报错 java.lang.NoClassDefFoundError org.apache.xml.serializer.TreeWalker时的处理方法。

    Struts的java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource异常的解决方法

    然而,对于初学者来说,遇到错误是常有的事,比如“java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource”。这个异常表明在运行时,系统无法找到指定的类,即Apache Commons DBCP的...

    java.lang包

    `Class.forName()`方法可以动态加载类。 `Object`类是所有Java类的最终超类,包含所有对象共有的属性和方法,如`equals()`比较两个对象是否相等,`hashCode()`返回对象的哈希码,`toString()`返回对象的字符串表示...

Global site tag (gtag.js) - Google Analytics