创建Class类的实例对象的三种方法

简介: 创建Class类的实例对象的三种方法


```javascript

Fool fool =new Fool();

```



Class 类里面提供的构造方法是private的,且

只有java虚拟机能创建Class的实例对象,

所以不能直接创建他的对象。

任何类都是Class类的实例对象,这个实例对象有3种表示方法:


```javascript

方法一:

Class c1=Fool.class;//任何一个类都有一个隐含的静态成员变量class

```


```javascript

方法二:

Class c2=fool.getClass();//已知该类的对象通过getClass方法

```


c1、c2表示Fool类的类类型

类也是对象,是Class类的实例对象

这个对象我们称为该类的类类型

System.out.print(c1==c2);结果为true,即表示他们是同一个实例对象。

解释:不管c1与c2都代表了Foo类的类类型,一个类只可能是Class类的一个实例对象


```javascript

方法三:

Class c3=null;

try{

   c3=Class.forname("com.imooc.reflect.Foo");

}catch(ClassNotFoundException e){

   e.printStackTrace();

}

```


总结:我们完全可以通过类的类类型创建类的对象实例--->通过c1或者c2或者c3创建Foo的实例


```javascript

try{

   Foo foo=(Foo)c1.newInstance();

}catch(InstantiationException  e)

{

   e.printStackTrace();

}catch(IllegalAccessException e){

   e.printStackTrace();

}

```




目录
相关文章
|
1天前
|
搜索推荐
如何在构造函数中为类的实例添加方法?
在实际开发中,要根据具体的场景和需求来选择合适的方式来为类的实例添加方法,以确保代码的可读性、可维护性和性能。
|
5月前
|
Java
java反射-获取类的Class对象方式
java反射-获取类的Class对象方式
|
设计模式 Python
我为什么要创建一个不能被实例化的类
我为什么要创建一个不能被实例化的类
72 0
|
Java 开发者
Class 类对象的三种实例化模式|学习笔记
快速学习 Class 类对象的三种实例化模式
174 0
Class 类对象的三种实例化模式|学习笔记
|
Python
5 类的创建及使用
5 类的创建及使用
126 0
|
JavaScript 前端开发 开发者
class-创建类并通过 constructor 挂载实例属性|学习笔记
快速学习 class-创建类并通过 constructor 挂载实例属性
225 0
|
应用服务中间件 Python
|
JavaScript 前端开发
class-创建类并通过constructor挂载实例属性
一、Class的基本使用 二、使用class关键字来创建对象 三、总结
|
安全
获取Class对象的其他方式
获取Class对象的其他方式
103 0
|
Java 开发者
Class 类对象的三种实例化模式|学习笔记
快速学习 Class 类对象的三种实例化模式
423 0
 Class  类对象的三种实例化模式|学习笔记