问下在java中 xxx.class是啥意思。额 我不是问class文件是啥意思,我问的是代码中xxx.class的意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问下在java中 xxx.class是啥意思。额 我不是问class文件是啥意思,我问的是代码中xxx.class的意思相关的知识,希望对你有一定的参考价值。

问下在java中 xxx.class是什么意思。额 我不是问class文件是什么意思,我问的是代码中xxx.class的意思
比如安卓中一个activity跳转:

这里面Map.class代表着什么???

Class是一个java的对象类型,java系统中用来定义所有class的基本信息(不含运行时的信息,例如变量内容等),一般用于重新构筑对象。
XXX.class可以返回当前对象的定义,并且是标准的Class类型。
参考技术A 这个类的class对象,这个是获取到对象!,该class对象在该命名空间是唯一的!class对象可以使用反射方法。
具体请查询:Java类装载,java class对象,推荐参考书籍:《deep in jvm》 中文《深入java虚拟机》
参考技术B 知道 Java中的反射么? class就是类属性了。 比如说赵本山是个人,赵本山就是人的一个实例,用 赵本山.getClass() 方法,就得到了 “人” 这个东西。 参考技术C java中有一个Class的类,任意类名加.class都代表一个Class类的实例

java.lang.Class

java.lang.Class

一、Class类是什么
  Class是一个类,位于java.lang包下。
  在Java中每个类都有一个相对应的Class类的对象,换句话说:Java程序在启动运行时 一个XXX.java类经过编译生成XXX.class文件后,就会在JVM虚拟机中产生一个XXX类对应的Class类的对象,用于表示这个XXX类的类型信息。

二、Class类常用的方法
  Class类是反射中的核心类,它有如下的方法:
    获取类中的属性:
      - getFields(): 获取类中public类型的属性
      - getField(String name): 获取类特定的方法,name参数指定了属性的名称
      - getDeclaredFields(): 获取类中所有的属性(public、protected、default、private),但不包括继承的属性。
      - getDeclaredField(String name): 获取类特定的方法,name参数指定了属性的名称

    获取类中的构造函数:
      - getConstructors():获取类中的公共方法
      - getConstructor(Class[] params): 获取类的特定构造方法,params参数指定构造方法的参数类型
      - getDeclaredConstructors(): 获取类中所有的构造方法(public、protected、default、private)
      - getDeclaredConstructor(Class[] params): 获取类的特定构造方法,params参数指定构造方法的参数类型

    获取类中的方法:
      - getMethods(): 获得类的public类型的方法
      - getMethod(String name, Class[] params): 获得类的特定方法,name参数指定方法的名字,params参数指定方法的参数类型
      - getDeclaredMethods(): 获取类中所有的方法(public、protected、default、private)
      - getDeclaredMethod(String name, Class[] params): 获得类的特定方法,name参数指定方法的名字,params参数指定方法的参数类型

    其它重要方法:
      - newInstance(): 通过类的不带参数 的构造方法创建这个类的一个对象
      - forName(String className): 获取className参数指定的类的class对象
      - forName(String className,boolean initialize,ClassLoader): 使用指定的类加载器获取className参数指定的类的class对象
      - getClassLoader(): 获取类加载器
      - getName(): 获取类名
      - getPackage(): 获取类所在的包名

三、获取Class对象的三种方法
  第一种: 调用Class类的静态方法forName,比如 Class.forName("java.lang.String")
  第二种: 使用类的.class语法,比如 : Class cls = String.class
  第三种: 调用对象的getClass方法, 比如:String str = "123"; Class cls = str.getClass();
  (PS:在java.lang.Object类中定义了getClass()方法,因此对于任意一个Java对象,都可以通过此方法获得对象的类型)

 

 

 

 

 

 

 

 

 

 

 

 

 

 



























以上是关于问下在java中 xxx.class是啥意思。额 我不是问class文件是啥意思,我问的是代码中xxx.class的意思的主要内容,如果未能解决你的问题,请参考以下文章

c语言:想问下typedef *char[10] Strings;中的*char[10]表示的是啥类型?

Kuka里面说的cell到底是啥它是做啥用的啥情况用到它呢!还有就是我想问下 还有就是O R

进程jps.exe是啥?

RPA是啥?

java底层学习

淘宝的CPS模式盈利是啥意思?