天天看点

.class getClass () forName() 详解

类名.class是class对象的句柄,每个被加载的类,在jvm中都会有一个class对象与之相对应,如果要创建新的对象,直接使用class对象的局部class.forname就可以了,不需要用new 类名。

在java中,每个class都有一个相应的class对象,当编写好一个类,编译完成后,在生成的.class文件中,就产生一个class对象,用来表示这个类的类型信息。获得class实例的三中方式:

1.利用对象调用getclass()方法获取该对象的class实例

2.使用class的静态方法forname(),用类的名字获取一个class实例

3.运用.calss的方式获取class实例,对基本数据类型的封装类,还可以采用.type来获取对应的基本数据类型的class实例

.class getClass () forName() 详解
.class getClass () forName() 详解

在运行期间,如果我们要产生某个类的对象,java虚拟机会检测该类型的class对象是否已被加载。如果没有加载,java虚拟机会根据类的名称找到.class文件并加载它。一旦某个类型的class对象已经被加载到内存,就可以用它来产生该类型的所有对象。

newinstance()调用内中缺省的构造方法。

newinstance()调用类中缺省的构造方法,如果要实例的对象中有了自己定义的构造方法(除重写的和默认构造方法相同的构造方法外)

创建此 class 对象所表示的类的一个新实例

.class getClass () forName() 详解
.class getClass () forName() 详解

当我们在命令提示符下面编译好该类之后,输入java classtest point的时候,此时会输出loading point和x=0,y=0

如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】 

如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】 

如果,您对我的博客内容感兴趣,请继续关注我的后续博客,我是【orson】 

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段 声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 

转载:http://www.cnblogs.com/java-class/p/4496432.html