previous | start | next

## Abstract Classes

- `SelectableShape` doesn't define all `SceneShape` methods
- It's abstract
- `public abstract class SelectableShape implements SceneShape`
- `HouseShape` and `CarShape` are concrete
- Can't instantiate abstract class:

      SelectableShape s = new SelectableShape(); // NO

- Ok to have variables of abstract class type:

      SelectableShape s = new HouseShape(); // OK

previous | start | next