Howdy. 

[nfeeney@silo classes]$ history
   31  cd
   32  clear
   33  ls
   34  cp /l/www/classes/a348/spr2013/software/apache-tomcat-7.0.35.tar.gz .
   35  ls
   36  gunzip apache-tomcat-7.0.35.tar.gz
   37  ls -ld apache-tomcat-7.0.35.tar
   38  tar xvf apache-tomcat-7.0.35.tar
   39  clear
   40  ls
   41  cd apache-tomcat-7.0.35
   42  ls
   43  ls -l
   44  cd conf/
   45  ls
   46  mv server.xml server-distr.xml
   47  ls
   48  pico -w server.xml
   49  netstat -a | grep 13777
   50  netstat -a | grep 13778
   51  netstat -a | grep 8346
   52  clear
   53  pico -w ~/.bash_profile
   54  echo $CATALINA_HOME
   55  source ~/.bash_profile
   56  echo $CATALINA_HOME
   57  echo $JAVA_HOME
   58  echo $CATALINA_HOME
   59  $CATALINA_HOME/bin/startup.sh
   60  cd $CATALINA_HOME
   61  cd webapps/
   62  cd ROOT/
   63  pico -w index.html
   64  cleR
   65  CLEAR
   66  clear
   67  mkdir $CATALINA_HOME/webapps/iceblox
   68  mkdir $CATALINA_HOME/webapps/iceblox/WEB-INF
   69  mkdir $CATALINA_HOME/webapps/iceblox/WEB-INF/classes
   70  mkdir $CATALINA_HOME/webapps/iceblox/WEB-INF/lib
   71  cp /l/www/classes/c212/fall2010/notes/iceblox/Iceblox.java $CATALINA_HOME/webapps/iceblox
   72  cp /l/www/classes/c212/fall2010/notes/iceblox/iceblox.gif  $CATALINA_HOME/webapps/iceblox
   73  cp /l/www/classes/c212/fall2010/notes/iceblox/iceblox.html $CATALINA_HOME/webapps/iceblox
   74  cd $CATALINA_HOME
   75  cd webapps/
   76  cd iceblox/
   77  ls
   78  javac Iceblox.java
   79  mkdir $CATALINA_HOME/webapps/chat
   80  mkdir $CATALINA_HOME/webapps/chat/WEB-INF
   81  mkdir $CATALINA_HOME/webapps/chat/WEB-INF/classes
   82  mkdir $CATALINA_HOME/webapps/chat/WEB-INF/lib
   83  cp /l/www/classes/c212/fall2012/chat/Chat.java        $CATALINA_HOME/webapps/chat/WEB-INF/classes
   84  cp /l/www/classes/c212/fall2012/chat/ChatServlet.java $CATALINA_HOME/webapps/chat/WEB-INF/classes
   85  cp /l/www/classes/c212/fall2012/chat/web.xml          $CATALINA_HOME/webapps/chat/WEB-INF
   86  cp /l/www/classes/c212/fall2012/chat/ChatApplet.java  $CATALINA_HOME/webapps/chat
   87  cp /l/www/classes/c212/fall2012/chat/HttpMessage.java $CATALINA_HOME/webapps/chat
   88  clear
   89  cd /u/nfeeney/apache-tomcat-7.0.35/webapps/chat/
   90  ls
   91  pico -w ChatApplet.java
   92  javac *.java
   93  cd WEB-INF/
   94  cd classes/
   95  ls -l
   96  pico -w Chat.java
   97  javac *.java
   98  history


class Horse /*extends Object*/ {
  String name; 
  void talk() {
    System.out.println("Howdy, I'm " + this.name);
  }
}

https://d1jqecz1iy566e.cloudfront.net/large/md2191.jpg

class Unicorn extends Horse {
  String horn; 
  void talk() {
    System.out.println("Bonjour, je m'appelle " + this.name ); 
  }  
}

Horse = { name, talk() }

Unicorn = Horse U { horn }

The class extension mechanism is like the set union of features

class Example {
  public static void main(String[] args) {
    Horse a = new Horse(); 
    Unicorn b = new Unicorn(); 
    Horse c = new Unicorn(); // yes, polymorphism 
    // Unicorn d = new Horse(); // error 
    
  }
}

See you on Monday. Please check the posted notes. 

--