Skip to content

Instantly share code, notes, and snippets.

@rtoal
Created October 27, 2014 04:22
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save rtoal/1685886e6605fe73b792 to your computer and use it in GitHub Desktop.
Save rtoal/1685886e6605fe73b792 to your computer and use it in GitHub Desktop.
An example of inheritance and polymorphism in Java
abstract class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public String speak() {
return name + " says " + sound();
}
public abstract String sound();
}
class Cow extends Animal {
public Cow(String name) {
super(name);
}
@Override public String sound() {
return "moooooo";
}
}
class Horse extends Animal {
public Horse(String name) {
super(name);
}
@Override public String sound() {
return "neigh";
}
}
class Sheep extends Animal {
public Sheep(String name) {
super(name);
}
@Override public String sound() {
return "baaaa";
}
}
public class AnimalDemo {
public static void main(String[] args) {
Animal h = new Horse("CJ");
System.out.println(h.speak());
Animal c = new Cow("Bessie");
System.out.println(c.speak());
System.out.println(new Sheep("Little Lamb").speak());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment