import tester.*; interface IAnimal { } class Snake implements IAnimal { String name; int weight; String food; Snake(String name, int weight, String food) { this.name = name; this.weight = weight; this.food = food; } } class Dillo implements IAnimal { int weight; boolean isAlive; Dillo(int weight, boolean isAlive) { this.weight = weight; this.isAlive = isAlive; } } class Posn { int x; int y; Posn(int x, int y) { this.x = x; this.y = y; } } class Ant implements IAnimal { double weight; Posn location; Ant(double weight, Posn location) { this.weight = weight; this.location = location; } } interface IGrade { } class NoGrade implements IGrade { NoGrade() { } } class NumberGrade implements IGrade { int grade; NumberGrade(int grade) { this.grade = grade; } } class Examples{ Dillo rolly = new Dillo(2, true); Ant suzy = new Ant(0.0001, new Posn(3, 4)); IAnimal fred = new Snake("Fred", 10, "cereal"); IAnimal friend = suzy; // Ant yourFriend = friend; //-- not ok IGrade g1 = new NoGrade(); IGrade g2 = new NumberGrade(100); }