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實例

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM