i cannot understand
package com.codegym.task.task14.task1416;
/*
Fixing bugs
*/
public class Solution {
public static void main(String[] args) {
CanSwim creature = new Orca();
creature.swim();
creature = new Whale();
creature.swim();
creature = new RiverOtter();
creature.swim();
}
public static void test(CanSwim creature) {
creature.swim();
}
interface CanWalk {
void walk();
}
interface CanSwim {
void swim();
}
public static abstract class SeaCreature implements CanSwim{
public void swim() {
SeaCreature currentCreature = (SeaCreature) getCurrentCreature();
currentCreature.displaySwim();
}
private void displaySwim() {
System.out.println(getCurrentCreature().getClass().getSimpleName() + " is swimming");
}
public abstract CanSwim getCurrentCreature();
}
static class Orca implements CanSwim{
public CanSwim getCurrentCreature()
{
return CanSwim;
}
}
static class Whale implements CanSwim{
public CanSwim getCurrentCreature()
{
return CanSwim;
}
}
static class RiverOtter implements CanSwim,CanWalk{
public void walk()
{
}
}
}