Hi, There are several cases for "class A uses B". My question is there are any other cases besides the following cases? Thanks. 1) if class A refers to class B as a data member, local variable, argument, data cast, or if A inherits from B or if A implements interface B, then A uses B. Classes A and B interact if either A uses B or B uses A. 2)A can direct refer class B's static methods (or data members). B does not have to be a data member or local variable or argument of A 3)Inner class: if A is an inner class of B, then objects that are instances of A generally retain the ability to access the members of outer class B. In this case, B does not have to be the data member etc of A 4) Anonymous class Simon
So if class A uses class C, and class C uses B, isn't class A using class B? And what's about a 'Class.forName'? You could crosspost this to java.beginners or did you already Is there any question behind, or is it just for konverstation?
Thanks for your reply. It is a research issue. We want to determine different cases to find the dependence during change propagation. We only consider the direct use. Simon