Java中Class.forName()函数用法 原理 详解

IT教程 4年前 (2020) https://www.55wd.com

class.forname

1.在一些应用中,无法事先知道使用者将加载什么类,而必须让使用者指定类名称以加载类,可以使用 Class 的静态 forName() 方法实现动态加载类。下面的范例让你可以指定类名称来获得类的相关信息。

public static void main(String[] args) {
        try {
            Class.forName(args[0]);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

2.Class 的静态 forName() 方法有两个版本,上面的代码是只指定类名称,而另一个版本可以让你指定类名称、加载时是否运行静态区块、指定类加载器

        public static Class<?> forName(String name, boolean initialize,ClassLoader loader)throws ClassNotFoundException
        public static Class<?> forName(String className)throws ClassNotFoundException

3.在forName方法里面是用Java反射机制去实现的,也就是调用类(Reflection类会在后续更新)

 public static Class<?> forName(String className)
                throws ClassNotFoundException {
        Class<?> caller = Reflection.getCallerClass();
        return forName0(className, true, ClassLoader.getClassLoader(caller), caller);
    }

4.通过forName和newInstance实例化一个类

public static void main(String[] args) {
        try {
            Class url = Class.forName(args[0]);
            ClassName a =(ClassName)url.newInstance();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        }
    }

2-class禁毒教育平台学生登录入口_第二课堂禁毒网站注

内容摘要:2-class禁毒教育平台,也被成为第二课堂,这个网站学生如何注册登录?注册登录入口是什么?

Error occurred during initialization of VM java/la

在doc命令下运行java/javac/java -version时出现Error occurred during initialization of VM java/lang/NoClassDefFoundError:

java Class的 getSuperclass与getGenericSuperclass区

Class的getInterfaces与getGenericInterface区别 http://www.cnblogs.com/maokun/p/6773076.html一、getSuperclass   返回直接

C#是可以用ManagementClass的相关来获取,但是unity没这

using System;using System.Collections;using System.Collections.Generic;using System.Runtime.InteropServices;using UnityE

Class文件解析示例

java文件编译为class字节码文件后,示例如下: Classfile /target/classes/com/jvm/bookdemo/z6/ClassCompileTest.class Last mod

文章回顾

大家看了本文Java中Class.forName()函数用法 原理 详解的精彩教程资源内容,是不是对Java中Class.forName()函数用法 原理 详解了解更多,真心希望Java中Class.forName()函数用法 原理 详解能帮助到你, 小编会一直给你带来更多教程资源文章信息。

版权声明: 发表于 2020-05-05 12:45:54。

本文由第三方用户分享仅代表作者观点,不代表本网站立场,秉承互联网开放分享的精神,目的在于传递更多信息,加强各行业互通交流,但对内容不作任何保证或承诺,请读者自行参考斟酌。网站发布的信息(包含但不限于版式、图片、字体、文章等素材)由第三方用户分享,版权归原作者所有,本站不承担任何相关的版权纠纷等相关责任。如您认为本篇内容侵犯了您的权益,请与我们联系,我们会及时处理。

豌豆资源网专注分享全网综合资源网站大全,致力于超实用的内容资源搜索。

转载请注明:
本文标题:Java中Class.forName()函数用法 原理 详解
本文地址:https://55wd.com/s38959/