反射の从Class建立对象

来源:互联网 发布:科学引文索引数据库 编辑:程序博客网 时间:2024/06/05 20:54

之前写过的理论博客:http://blog.csdn.net/u010892841/article/details/51596392

业务描述:我想采用影片链接库来播放动画,但是现在那个部门还未动工怎么办

解决方法:先利用接口定义出该部门应该用的功能。然后先完成我的动画播放。也就是具体的实现可以先没有,先利用反射创建一个具有该功能的实例。

代码构成:

Player接口

MediaMaster类

ConsolePlayer类代表最后的实现

package reflect;import java.util.Scanner;public class MediaMaster {public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {String playerImpl=System.getProperty("reflect.PlayerImpl");Player player=(Player)Class.forName(playerImpl).newInstance();Scanner scanner=new Scanner(System.in);System.out.print("请输入想播放的影片:");player.play(scanner.nextLine());}}


package reflect;public class ConsolePlayer implements Player {@Overridepublic void play(String viedo) {System.out.println("正在播放"+viedo);}}

package reflect;public interface Player {void play(String viedo);}



0 0
原创粉丝点击