Java类加载
在Java当中,加载类分为动态加载和静态加载,其中,在编译时刻加载类叫做静态加载类,在运行时刻加载类叫做动态加载类。
Java反射
Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;
定义操作系统标准
//操作系统接口
public interface OSAble {
void work();
}
Windows系统实现
//windows系统实现操作系统接口
public class Windows implements OSAble {
@Override
public void work() {
System.out.println("WindowsXP working");
}
}
Linux系统实现
//Linux系统实现操作系统接口
public class Linux implements OSAble {
@Override
public void work() {
System.out.println("linux working");
}
}
使用反射动态加载操作系统
//使用反射动态加载操作系统
public class OS {
public static void work(String name) {
try {
Class cla = Class.forName(name);
OSAble able = (OSAble) cla.newInstance();
able.work();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}catch (ClassNotFoundException e){
e.printStackTrace();
}
}
}
使用系统开始工作
public class OSTest {
public static String WINDOWS = "com.yanyuan.reflect.Windows";
public static String LINUX = "com.yanyuan.reflect.Linux";
public static void main(String[] args) {
OS.work(LINUX);
}
}