Java的类类型和类的动态加载

注:优快云的博客搬家不太好用,这是手动从原博客园博客http://www.cnblogs.com/summer2012/p/4131816.html搬运过来的。

准备知识:
Student judy = new Student;
Class s1 = Student.class;
Class s2 = judy.getClass();
Class s3 = null;
s3 = Class.forName("com.Student");
这里s1, s2, s3都是类类型,new创建对象是静态加载类,在编译时刻就需要加载所有的可能用到的类。

动态加载类的例子:

// OfficeAble.java
interface OfficeAble {   
    public void start();
        //  System.out.println("Word...starts")
}

// Word.java
class Word implements OfficeAble {
 
    public void start() {
        System.out.println("Word...starts...");
    }

}
// OfficeBetter.java
class OfficeBetter {
    
    public static void main(String[] args){
    
        try {
            Class cType = Class.forName(args[0]); //get class class type
            OfficeAble oa = (OfficeAble)cType.newInstance();
            oa.start();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
可通过命令行执行OfficeBetter类,同时给予执行参数,参数为想动态加载的类的类名。

以上整理自慕课网的Java教学视频http://www.imooc.com/video/3725/0,在此感谢慕课网的老师!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值