多态(接口指向实现类)问题解答

Java在利用接口变量调用其实现类的对象的方法时,该方法必须已经在接口中被声明,而且在接口的实现类中该实现方法的类型和参数必须与接口中所定义的精确匹配。

UserServiceImpl userService = new UserServiceImpl();
userService.setUserDao(new UserDaoMySqlImpl());
userService.getUser();
System.out.println("...................");
userService.setUserDao(new UserDaoOracleImpl());
userService.getUser();

UserService是接口,UserServiceImpl实现类,setUserDao是实现类中的一个方法,则此处必须为UserServiceImpl userService = new UserServiceImpl();而不能是

UserService userService = new UserServiceImpl();

posted @ 2018-09-02 23:26  stitchGoGo  阅读(624)  评论(0编辑  收藏  举报