知识大全 java中Class对象详解

Posted

篇首语:但使书种多,会有岁稔时。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java中Class对象详解相关的知识,希望对你有一定的参考价值。

java中Class对象详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  java中把生成Class对象和实例对象弄混了 更何况生成Class对象和生成instance都有多种方式 所以只有弄清其中的原理 才可以深入理解 首先要生成Class对象 然后再生成Instance 那Class对象的生成方式有哪些呢 以及其中是如何秘密生成的呢?

  Class对象的生成方式如下

   Class forName( 类名字符串 )

   类名 class

   实例对象 getClass()

  通过一段小程序 来观察一下Class对象的生成的原理

  [java] view plaincopy /**

  *

  * Administrator

  */

  /**

  * @author 梁焕月

  * 文件名 TestClass java

  * 时间 上午

  */

  public class TestClass

  public  static void main(String[] args)

  

  try

  //测试Class forName()

  Class testTypeForName=Class forName( TestClassType )

  System out println( testForName—— +testTypeForName)

  //测试类名 class

  Class testTypeClass=TestClassType class

  System out println( testTypeClass—— +testTypeClass)

  //测试Object getClass()

  TestClassType testGetClass= new TestClassType()

  System out println( testGetClass—— +testGetClass getClass())

   catch (ClassNotFoundException e)

  // TODO Auto generated catch block

  e printStackTrace()

  

  

  

  class TestClassType

  //构造函数

  public TestClassType()

  System out println( ——构造函数—— )

  

  //静态的参数初始化

  static

  System out println( ——静态的参数初始化—— )

  

  //非静态的参数初始化

  

  System out println( ——非静态的参数初始化—— )

  

  

  测试的结果如下

  ——静态的参数初始化——

  testForName——class TestClassType

  testTypeClass——class TestClassType

   非静态的参数初始化 构造函数

  testGetClass——class TestClassType

  根据结果可以发现 三种生成的Class对象一样的 并且三种生成Class对象只打印一次 静态的参数初始化

  我们知道 静态的方法属性初始化 是在加载类的时候初始化 而非静态方法属性初始化 是new类实例对象的时候加载

  因此 这段程序说明 三种方式生成Class对象 其实只有一个Class对象 在生成Class对象的时候 首先判断内存中是否已经加载

  所以 生成Class对象的过程其实是如此的

cha138/Article/program/Java/hx/201311/25704

相关参考

知识大全 Class文件详解 (1)

Class文件详解(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我们都知道Java编译器

知识大全 abstract class和interface的使用场景分别是什么

abstractclass和interface是Java语言中对于抽象类定义进行支持的两种机制正是由于这两种机制的存在才赋予了Java强大的面向对象能力abstractclass和interface之

知识大全 Class文件详解 (2)

Class文件详解(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  继续分析Class文件的

知识大全 详解abstract class和interface的本质

   我们知道abstractclass和interface的不同在语法定义和编程的角度这些层面的区别是比较低层次的非本质的本小节将从另一个层面abstractclass

知识大全 javap(反汇编命令)详解

  javap是JDK自带的反汇编器可以查看java编译器为我们生成的字节码通过它我们可以对照源代码和字节码从而了解很多编译器内部的工作语法  javap[命令选项]class  javap命令用于解

知识大全 抽象类(abstract class)和接口(interface)

  java中的abstractclass和interface  abstractclass和interface是Java语言中对于抽象类定义进行支持的两种机制正是由于这两种机制的存在才赋予了Java

知识大全 Java5泛型 T.class的获取和为擦拭法站台

Java5泛型T.class的获取和为擦拭法站台  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 JSP页面中Session对象详解

JSP页面中Session对象详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Session

知识大全 详解AJAX核心中的XMLHttpRequest对象

详解AJAX核心中的XMLHttpRequest对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Java正则表达式详解(中)

Java正则表达式详解(中)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    三应用实例