Learn about the Java programming language by interacting with virtual pet "objects."
Java is an Object Oriented language. This means that it uses the concept of objects to represent data.
In the example presented here, you will encounter an abstract class
Animal which is extened by 3 different classes, Cat, Dog, and Dinosaur.
Animal has two varieties of methods: some are labelled as abstract, and some are not.
The abstract methods are placeholders of sorts: any class that extends Animal must implement these or else be an abstract class as well.
The other methods in Animal, however, have code associated with them; an extending class may override these methods, but is not required to do so.