zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    phpdocumentor生成代码注释文档(linux)
    phpstorm扩展
    es教程
    康威定律
    k8s
    tidb调研
    netty 在线教程
    McQueenRPC源码阅读
    DIY一些基于netty的开源框架
    性能测试
  • 原文地址:https://www.cnblogs.com/wh984763176/p/13362691.html
Copyright © 2011-2022 走看看