Outline



Overriding methods



Overloading methods



Wrapper classes



Polymorphism



Abstract Classes



Abstract Class Example

public abstract class AgriculturalPlant {
  protected double plantSize;

  // cannot be instantiated, so no constructor needed or possible

  // non-abstract (i.e., implemented) methods may appear in an abstract class
  public void grow(double fraction)
  {
    plantSize = plantSize * (1.0 + fraction);
  }

  // abstract methods must be implemented by the subclass(es)
  public abstract double harvest();  // returns weight harvested
  public abstract void fertilize(double fertilizerAmount);
}



class Object



Exception class Hierarchy