class转java

作者:原创时间:2022-03-21
文档

class转java是什么,让我们一起了解下?

在Java中,每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息。

获取Class实例的三种方式:

(1)利用对象调用getClass()方法获取该对象的Class实例;

(2)使用Class类的静态方法forName(),用类的名字获取一个Class实例(staticClass forName(StringclassName)  Returns the Classobject associated with the class or interface with the given stringname. );

(3)运用.class的方式来获取Class实例,对于基本数据类型的封装类,还可以采用.TYPE来获取相对应的基本数据类型的Class实例在newInstance()调用类中缺省的构造方法ObjectnewInstance()(可在不知该类的名字的时候,常见这个类的实例) Creates a new instance of the class represented by this Classobject.

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

实际案例代码如下:

1 public class ClassTest {undefined
2 public static void main(String [] args)throws Exception{undefined
3 String str1="abc";
4 Class cls1=str1.getClass();
5 Class cls2=String.class;
6 Class cls3=Class.forName("java.lang.String");
7 System.out.println(cls1==cls2);
8 System.out.println(cls1==cls3);
9 }
10 }

返回结果为:true,true.

解释:虚拟机只会产生一份字节码, 用这份字节码可以产生多个实例对象。

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
cmake java compareto java 被删的微信聊天记录怎么找回来 continue java django java 微信怎么群发消息给多人 double java dozer java eclipse创建java arrays java awesome java 小程序和app的区别 enum java excel读取java extend java extends java false是java关键字吗 爱奇艺黄金会员和星钻会员的区别 field java foreach java character java callable java qq实名认证怎么解除 calendar java cache java c#调用java接口 c#调用java brew java boolean java bitset java axis java asterisk java assert java 怎样改抖音名字的昵称 aspect java ansible java ajax java antlr java 交管12123怎么查科目一分数 abstract java