Java -- the dial-tone of the Internet

D



   1995   Introduction at WWW3
   1996   1.0 with AWT
   1997   1.1.x with modified event handling
   1998   version 1.2 (beta) with Swing
  

Design principles -- safety

  • a modern programming language
  • C++ syntax, no pointers
  • virtual machine (runs on many platforms)
  • libraries: threads, networking, AWT
  • downloadable classes
  • support for applets
  • extensions and APIs: Beans, Swing, MEDIA, 3D

See: www.javasoft.com
and java.sun.com/docs/books/tutorial


slide: The language Java


Keywords:

Java overview


  • new, finalize, extends, implements, synchronized

Language features:

  • no pointers -- references only simplify life
  • garbage collection -- no programmers' intervention
  • constructors -- to create and initialize
  • single inheritance -- for refinement
  • interfaces -- abstract classes
  • synchronized -- to prevent concurrent invocation
  • private, protected, public -- for access protection

slide: Java -- terminology (1)


Type expressions


slide: Java -- expressions (1)


Expressions

  • operators -- + , - ,.., < , <= ,.., == , ! = ,.., && , ||
  • indexing -- o[ e ]
  • access -- o.m(...)
  • in/decrement -- o++, o--
  • conditional -- b?e1:e2

Assignment

  • var = expression
  • modifying -- +=. -=, ...

slide: Java -- expressions (2)


Control


slide: Java -- control


Hello World -- Java (1)


  
  public class HelloWorld {
  public static void main(String[] args) {
         System.out.println("Hello World");
         }
  };
  

slide: Java -- objects (1)


Hello World - interface


  public interface World {
  public void hello();
  };
  

Hello World - class


  public class HelloWorld implements World {
  public void hello() {
         System.out.println("Hello World");
         }
  };
  

slide: Java -- objects (2)


Hello World -- Java (2)


  import java.awt.Graphics; 
  public class HelloWorld extends java.applet.Applet { 
  
  public void init() { resize(150,50); } 
  
  public void paint(Graphics g) { 
         g.drawString("Hello, World!", 50, 25); 
         } 
  }; 
  

slide: Java -- inheritance


Java -- techniques


slide: Java -- techniques


The language Java

D



slide: Java -- summary