国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java教程 > java如何重写findClass方法

java如何重写findClass方法

java findClass

头像

小妮浅浅

2021-07-27 09:19:336782浏览 · 0收藏 · 0评论

方法说明

1、使用findClass(String)方法,可以重新加载class字节码文件,因为在ClassLoader中,ffindClass方法由protected修饰,只能调用被子类,没有实现方法,只抛出一个ClassNotFoundException的异常。

2、重写findClass的方法,这样就可以被外部对象调用,并class字节码文件的逻辑代码。

实例

package com;
import java.io.InputStream;
import java.net.URL;
public class MyClassLoader extends ClassLoader{
    /**
     * 加载class文件
     * 重写此方法的目的是为了能让此方法被外部调用,父类的 findClass 是 protected 修饰的,只能被子类调用
     * @param name   类的全类名 示例: com.xd.User
     * @return
     * @throws ClassNotFoundException
     */
    @Override
    public Class<?> findClass(String name) throws ClassNotFoundException {
        try {
            // 获取class文件名称  去掉包路径
            String fileName = name.substring(name.lastIndexOf(".") + 1) + ".class";
            // 获取文件输入流
            InputStream is = this.getClass().getResourceAsStream(fileName);
            // 读取字节
            byte[] b = new byte[is.available()];
            is.read(b);
            // 将byte字节流解析成jvm能够识别的Class对象
            return defineClass(name, b, 0, b.length);
        } catch (Exception e) {
            throw new ClassNotFoundException();
        }
    }
}

以上就是java重写findClass方法的介绍,希望对大家有所帮助。更多Java学习指路:java教程

本教程操作环境:windows7系统、java10版,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

扌喿辶畐和扌喿辶的区别| 小扫货几天没弄了这么多| (NP、高H、纯肉、真空)| 白日梦我| 《丰满的女邻居》播放| 厨房韵母2| 晃来晃去的大扔子| 《再来一次好吗》免费观看 | 一路向西在线| 《玉尺经》完整版| 《医务室上垒》动漫全集在线观看| 瑜伽裤透明全毛露丁字裤| 美国暴躁真人CSGO| 开处出血视频| 黄金网站APP免费| 自慰视频| 45岁老阿姨喷了三次尿素乳青 | 我的小后妈中字ID| 乱公伦媳2| 《乳牛牧场的奶牛娘》动漫| 《丰满的女邻居》播放| 妻子的姐姐免费观看大全电视剧 | 暴躁少女CSG0免费观看| 无法抗拒的你ID中字| 男生把小困困放到女生困里视频| 玉蒲团之官人我要| 夜生活在线观看免费观看电视剧 | 韩剧《酒醉热吻》| 萧阳| 小柔与王叔的第一次相遇是第几集| 九九在线观看免费播放大全电视剧| 年轻的母亲| 器材室轮-」-(1):蒙着眼在..| 小正太主动要求戴肛塞尾巴的小猫| 《饥饿妻子》完整版在线观看| 《耻度》金银花露原文| 丈夫不在的日子中字头| 小妈妈2免费观看完整电视剧| 回娘家白天像父女晚上像夫妻| 小丹让我尝尝你的味道是什么歌啊| 泰剧《劈开你的腿》免费观看