- 你可以规定学生类必须实现Sing接口
public interface Sing {
void start();
}
- 那么,就可以来进行自己的开发了,将动态加载的对象强转为Sing
public class Main {
public static void main(String[] args) {
try {
Sing palyer = (Sing) Class.forName("className").newInstance();
palyer.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
- 然后规定他人设计的学生类必须实现Sing接口
public class Student implements Sing {
@Override
public void start() {
System.out.println("学生唱歌");
}
}
- 这样,等到得到确切的类名称后,修改main方法的className即可
public static void main(String[] args) {
try {
Sing palyer = (Sing) Class.forName("net.zhifou.demo.Student").newInstance();
palyer.start();
} catch (Exception e) {
e.printStackTrace();
}
}