Demo 1: after "rule for determining legality."
Demo.java: method `types`.

Quiz: after "view of object based on the type."
- Carefully describe the setting.
- Notice that we were only discussing *legality* at compile-time! The
  bottom-up rule is *still in effect*.
- Remember that the bottom-up rule *always starts at the very bottom*, not at
  the partition from the type of any particular variable The type is
  *irrelevant* to the bottom-up rule.

Demo 2: after "implicit upward cast."
Demo.java: method `casting`.

Demo 3: after "a complete implementation of equals."
Cat.java
- Just quickly show the Cat implementation of equals.
- This is the recipe for how to write equals. Always do it the same way:
  1. Check whether it's null. (Use || or an early return.)
  2. Check whether the classes match, using getClass.
  3. Call super.equals to compare the superclass's fields.
  4. Compare the current class's fields.
- Read lots more about equals on JavaHyperText.
