The example illustrates a concrete abstract and interface class in java. The animal.java is an abstract class that is implemented where the hen eats and it is a layer. The concrete class can be instantiated and it is the bird.java class which defines the method and interface is hen.java which defines the method of eat and laysEggs. CAT 2 Encapsulation This is shown using the private and public to ensure that the private class can be accesses publicly.