Java Reference
In-Depth Information
4. No, but the way to accomplish the same thing is to have one interface extend
the other.
These exercises are for the material on the Comparable interface.
5. Yes, the dialogue would be the same. The change from the parameter type
Comparable[] to Object[] in the method interchange is in fact a good idea.
6. No. This will compile without any error messages. However, the less-than order-
ing does not satisfy the semantics of the Comparable interface. For example, the
trichotomy law does not hold.
7. Yes. The three required conditions are true for objects of the class Circle :
(Irreflexive) By definition, no circle is inside itself.
(Trichotomy) For any two circles c1 and c2 with centers at the origin, one, and only
one, of the following holds true: c1 is inside of c2, c2 is inside of c1 , or c1 equals c2 .
(Transitivity) If c1 is inside of c2 and c2 is inside of c3 , then c1 is inside of c3 .
8. The class will produce a compiler error message saying that there is an inconsis-
tency in the definitions of ANSWER .
9. The class will compile and run with no error messages. Because the named constant
ANSWER is never used, there is no inconsistency.
10. The class will produce a compiler error message saying that you have not imple-
mented the heading for getStuff in InterfaceA .
11. They will all compile and the program will run. The two definitions of
getStuff have different numbers of parameters, so this is overloading. There is
no inconsistency.
12. public class StockItem implements Cloneable
{
private int number;
private String name;
public void setNumber( int newNumber)
{
number = newNumber;
}
...
public Object clone()
{
try
{
return super .clone();
}
catch (CloneNotSupportedException e)
{ //This should not happen.
return null ; //To keep compiler happy.
}
}
}
Search WWH ::




Custom Search