简单例子:
直接new一个实例,这样肯定知道用的哪个实例定义接口类型的变量,用某个实例去初始化。。。这样也是肯定知道用的哪个实例
一般我们用第二种方式有一个好处,如果以后要改动,那么只需要修改其引用的实例,改动较少!
举个例子:A接口,AAA3实现A接口,有一个eat方法,A吃饭,A吃鱼,A吃肉
需要得到'吃肉',那么Aa=newA3();需要得到'吃饭',那么Aa=newA1();
看代码发现的例子:
接口:publicinterfaceCsBaseService{//获得总记录条数publicintgetTotalCount(JDBCBeanjdbcBea;}
实现类
实现类
}
调用的时候:
initParamProcess(relateModelService,newRelateModel(),newPage());//初始化实现类关键在这步,指定relateModelService为beaseService,具体见BaseController类
inttotalCount=beaseServicgetTotalCount(jdbcBea;//然后直接调用实现类2的方法,输出为2}
voidinitParamProcess(CsBaseServicebeaseService,JDBCBeanjdbcBean,Pagepag{this.beaseService=beaseService;//指定哪个实现类为beaseServicethis.jdbcBean=jdbcBean;this.page=page;
}
}
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点