Java、Scala获取Class实例
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