java – 继承main方法
发布时间:2020-12-15 05:16:28 所属栏目:Java 来源:网络整理
导读:我想定义一个基类,它定义一个实例化类的main方法,并运行一个方法.但是有几个问题.这是基类: public abstract class Strategy{ abstract void execute(SoccerRobot robot); public static void main(String args) { Strategy s = new /*Not sure what to put
我想定义一个基类,它定义一个实例化类的main方法,并运行一个方法.但是有几个问题.这是基类:
public abstract class Strategy { abstract void execute(SoccerRobot robot); public static void main(String args) { Strategy s = new /*Not sure what to put here*/(); s.execute(new SoccerRobot()) } } 这是一个示例派生类: public class UselessStrategy { void execute(SoccerRobot robot) { System.out.println("I'm useless") } } 它定义了一个简单的execute方法,在用作主应用程序时应该在main方法中调用.但是,为了做到这一点,我需要在基类的main方法中实例化派生类.这似乎不可能. 我宁愿不必为每个派生类重复main方法,因为它感觉有点不合时宜. 有没有正确的方法呢? 解决方法
将main方法移到单独的类中.分开关注
策略(名称说明了一切) 启动器(将组件组装在一起并触发执行) public class Launcher { public static void main(String args) { Strategy s = new UselessStrategy(); //OR Strategy s = CreateInstance(args[0]) ; //OR equiv mechanism for Dependency Injection if you don't want to hardcode the derived strategy to use. s.execute(new SoccerRobot()) } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |