CS202 Java-98
What to use? So many choices!
lEven if you are not using multiple inheritance
•Interfaces are preferable to abstract classes which in turn are preferable to concrete classes when thinking about a common base class
•As we discussed in C++, if you are doing dynamic binding, it is best if all methods are dynamically bound – otherwise you will get stuck with having to know the data type you are dealing with at run time (RTTI)
•An interface ensures that this is the case