Listing 1
public abstract class Animal
{
public abstract String movement();
}
public class Fish extends Animal
implements WaterDweller
{
public String movement()
{ return "swim";
}
}
public class Salmon extends Fish
{
public void jump()
{ System.out.println( "Jump" );
}
}
public class GoldFish extends Fish
implements FreshWaterDweller
{
}
public class Mammal extends Animal
{
public String movement()
{ return "quadraped";
}
}
public class Dog extends Mammal
{
}
public class Whale extends Mammal
implements SaltWaterDweller
{
public String movement()
{ return "swim";
}
}
Listing 2
public interface WaterDweller
{
}
public interface FreshWaterDweller
extends WaterDweller
{
}
public interface SaltWaterDweller
extends WaterDweller
{
}