package com.zokkk.spring;
interface IMessage{
void send();
}
interface CloudMessage{
void send();
}
class MyIMessage implements IMessage{
public void send() {
System.out.println("IMessage:MyIMessage");
}
}
class MyCloudMessage implements CloudMessage{
public void send() {
System.out.println("CloudMessage:MyCloudeMessage");
}
}
class Factory{
public static<T> T getInstance(String className,Class<T> clazz) {
T instance=null;
try {
instance=(T)Class.forName(className).getDeclaredConstructor().newInstance();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return instance;
}
}
public class JavaDemo {
public static void main(String[] args) {
IMessage iMessage=Factory.getInstance("com.zokkk.spring.MyIMessage", IMessage.class);
CloudMessage cMessage=Factory.getInstance("com.zokkk.spring.MyCloudMessage", CloudMessage.class);
iMessage.send();
cMessage.send();
}
}
运行结果: