相当于给派生于b的类型打上了b的标记,如类型过滤时方便使用。
为什么要打上B的标记,打个A的标记不行吗,还是说开发者只是想把外部依赖的jar包中的接口A的名字改为自己手写的B,仅仅是作一个使用时的名字的修改
能否给一个例子吗,我没做过项目,不知道这个具体有什么用谢谢大佬了
@JackieZhao:如反射得到所有类型,需要对派生B的Class(或者实例)进行处理,是不是需要一个标记来判断。
@花飘水流兮: 那直接不用接口B,派生A的Class进行处理时,直接用A也可以标记呀!
@JackieZhao: 自己慢慢捋
@花飘水流兮: 大佬,别这样啊,我觉得我永远也捋不清啊,能进一步说话吗_
@花飘水流兮: 我全网包括Stack Overflow上也问了,有个1%的外国答题老哥说without more context to some special scenario, there's generally not a compelling reason to do this.你这里这样一说,我更加懵了啊
@花飘水流兮: 我是在github上看到有人使用别人的jar包,A就是别人的jar包里面的接口,然后B就是他自己加的一个接口,只是 interface B extends interface A后没有做任何添加
@JackieZhao: 比如派生类BB派生于B,这一类BB需要特殊处理(或者实现),你现在拿到了所有派生于A集合List<A>,如果没有派生B的这个标记,你如何得到List<BB> or List<B>?
你的想法还停留在面向过程的那一套写代码的思想中……把所有的东西都 写在一个类中这个也没错 你后期维护起来你就知道了 。一个类几千行别人碰都 不敢碰,自己写的代码一段时间就忘了……自己也不想碰
把各自的类分门别类 代码复用不光代码重复率低…简洁……有利于后期的维护和接受