>1) Removing methods from a super interface doesn't keep you 
from adding 
>similar methods to subclasses

Are you saying people using the methods you want to remove in 
TreeNode would have to then subclass it?

>implementation); in the supplied patch, the methods are 
still in the 
>class TreeNodeBase.

... and what happens to people doing this?

TreeNode basicTeeNode = new TreeNodeBase();
TreeNode customTreeNode = new CustomTreeNodeBase();

list.add(treeNode);
list.add(treeNode2);

for(i = list.iterator(); i.hasNext();){
   TreeNode anyTreeNode = (TreeNode)i.next();
   anyTreeNode.methodYouRemoved();
}

>2) Removing methods from an interface only influences places 
where 
>those methods are called on a variable that has the 
interface as it's 
>static type.

Java 101: interfaces can't have static methods.
Dennis Byrne

Reply via email to