老生常谈Java动态编译(必看篇)
作者:jingxian 发布时间:2022-04-02 14:19:38
标签:Java,动态编译
一、动态编译简介
new创建对象是静态加载类,在编译时刻就需要加载所有可能使用到的类。
一百个类,有一个类错了,都无法编译。
通过动态加载类可以解决该问题
二、代码实例
2.1 OfficeBetter.java
main接口
里面通过对Class类的动态编译
然后调用实例,完成动态编译
public class OfficeBetter {
public static void main(String[] args) throws InstantiationException, IllegalAccessException {
try {
//动态加载类,在运行时刻加载
Class c =Class.forName(args[0]);
//通过类类型,创建该类对象
OfficeAble oa =(OfficeAble)c.newInstance();
oa.start();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
2.2 OfficeAble.java
一个接口而以,方便word时,也方便excel是用
public interface OfficeAble {
public void start();
}
2.3 Word.java
实现OfficeAble接口,
动态编译就在于wold的时候直接用word类就好,excel的时候直接用excel就好
原来写的所有的东西都不需要再重新编译,只要运行新功能就好了
public class Word implements OfficeAble{
public void start() {
System.out.println("word....starts...");
}
}


猜你喜欢
- 需求说明实际操作过程中,从D盘根目录下的ak.txt读取文件写入D盘根目录下的hello.txt文件内实现思路写两个方法,一个用于读取目标文
- 本文实例为大家分享了Android实现缓存大图到SD卡的具体代码,供大家参考,具体内容如下该功能主要针对资源图片过大占用apk体积,所以先将
- 前段时间在项目开发中,有listview实现单选和多选的效果,特别是listview的单选效果,一开始项目比较紧,自己考虑的是用listvi
- 本篇随笔将讲解一下Android当中比较常用的两个布局容器--ScrollView和HorizontalScrollView,从字面意义上来
- Semaphore、SemaphoreSlim 类两者都可以限制同时访问某一资源或资源池的线程数。这里先不扯理论,我们从案例入手,通过示例代
- 去除XSS字符串需要借助工具类 jsoup ,这里jsoup有一点需要注意的是,jsoup的功能可能有点太强大了,能把xss攻击的内容直接过
- ServletWebServerApplicationContext实现了父类AbstractApplicationContext的onRe
- 这篇文章主要介绍了springmvc如何使用POJO作为参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 本文实例讲述了C++判断一个链表是否为回文结构的方法。分享给大家供大家参考,具体如下:题目:给定一个链表头节点head,请判断是否为回文结构
- 开发中遇到Eclipse报错:java.lang.OutOfMemoryError: PermGen space。PermGen space
- JAVA 中Spring的@Async用法总结引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方
- 本篇文章主要介绍了详解Xamarin.Android 利用Fragment实现底部菜单,分享给大家,具体如下:效果图:第一步:添加引用引用
- 引言在unity中可以将不同场景的背景和道具放置在不同的Scene当中,通过对Scene的加载和卸载来实现场景之间的切换。同时创建一个基础场
- 本文实例为大家分享了C#根据http和ftp地址获取对应图片的具体代码,供大家参考,具体内容如下public class GetBitmap
- 查看代码执行mybatis的sql语句File–>Settings–>Plugins 搜索 MyBatis Log Plugin
- 从相册或拍照更换图片功能的实现:(取图无裁剪功能)获取图片方式: (类似更换头像的效果)1、手机拍照 选择图片;2、相册选取图片;本文只是简
- 概述Handler是Android消息机制的上层接口。通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。通常情况下,Hand
- 自定义封装 banner 组件,供大家参考,具体内容如下1. 效果图预览 2.基本功能一个简单方便的轮播图组件,基于viewpag
- 很多人对 Android提供的ImageButton有个疑问,当显示Drawable图片时就不会再显示文字了,其实解决的方法有三种: 第一种
- 简介本文介绍Java的List的正确的删除方法。实例需求:有如下初始数据,将list中的所有数据为"b"的元素删除掉。即