Java、Scala获取Class实例

java

Java获取Class实例的四种方式

package com.test;

/**

* @description: TODO

* @author: HaoWu

* @create: 2020/7/22 10:39

*/

public class A {

public static void main(String[] args) throws ClassNotFoundException {

//1.类名.class

Class clazz1 = A.class;

//2.对象名.getClass()

A a = new A();

Class clazz2 = a.getClass();

//3.Class.forName(全类名)

Class clazz3 = Class.forName("com.test.A");

//4.通过类的加载器

ClassLoader classLoader = this.getClass().getClassLoader();

Class clazz4 = classLoader.loadClass("com.test.A");

}

}

scala获取class实例">Scala获取Class实例

classOf[A] 类A的类型

a.getClass 对象a的类型,多态情况获取的是对象的类型,不是父类类型

    val a : A = new B

val type1_A = classOf[A].getName //com.bigdata.scala.day01.$08_Param$A

val type2_A = a.getClass.getName //com.bigdata.scala.day01.$08_Param$B

class A

class B extends A

以上是 Java、Scala获取Class实例 的全部内容, 来源链接: utcz.com/z/390453.html

回到顶部