因为ResultModel 间接继承/实现了接口IresultA。
相当于ResultModel 同时继承/实现了接口IresultA和IresultB。
类似于生物(IresultA) <- 动物(IresultB) <- 狗(ResultModel)的概念,即可以认为狗是生物,或者是动物。
但是使用的时候,如果类型为IResultA,则你只能调用它的code属性和方法,如果类型为IResultB,则只能调用它的msg属性和方法。 这取决于调用者关心哪些属性,如果要处理这两个属性,则应该转为ResultModel类型的变量,而实际上的对象都是同一个。
了解了,感谢!