![]() |
![]() |
![]() |
![]() |
![]() |
|
On the other hand, because each Java instance retains all its data, even
if the instance is viewed as an implementer of an interface, you can
cast a
RatingInterface variable, bound to a Movie instance, to the
Movie class, and then use any method that can be applied to a
Movie instance. Thus, the following will compile, if the
profit method is defined in both the Movie and
Symphony classes.
public class Demonstrate {
public static void main (String argv[]) {
// Movie instance assigned to x:
RatingInterface x = new Movie (5, 7, 7);
System.out.println("The movie's profit is " + ((Movie)x).profit());
// Symphony instance assigned to x:
x = new Symphony (7, 5, 5);
System.out.println("The symphony's profit is "
+ ((Symphony)x).profit()
);
}
}