I made Fruit an abstract class. That means that you can use it to base other classes on, but you can't make Fruit objects directly.
The Apple class has everything that the Fruit class has because it extends the Fruit class. Fruit is the "superclass" and Apple is the "subclass". But now the Apple class has something that the Fruit class does not: a
String called myMoto.
So now you can create (in other words, "instantiate") an Apple object and print out its values. I'll call my Apple object "a".
Notice how the "a" object has a hasVitaminC variable. That's because the "a" object is an instance of the Apple class. The Apple class extends the Fruit class, and the Fruit class has a hasVitaminC variable.
It prints:
Moto = One of me a day keeps the Doctor away
Has Vitamin C = true
My Orange class has everything that the Fruit class has, plus a juicynessFactor variable.
My Cherry class has everything that the Fruit class has, plus a warning variable.
Just a note on naming classes: I called the class Apple instead of Apples because class names are singular by convention. I called the class Apple instead of apple because class names start with an uppercase letter by convention.
I'd like to talk more, but I'm hungry now.