Title: Principles of Object-Oriented Software Development
1Principles of Object-Oriented Software Development
2The language Java
Introduction Terminology
Expressions Control Objects
Inheritance Techniques Summary
3Java -- the dial-tone of the Internet 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
http//www.javasoft.com and http//java.sun.com/d
ocs/books/tutorial
4Keywords
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
5Type expressions
- basic types -- int, char, float, ...
- Array -- int arSIZE
- String -- String args
- class -- user-defined
6Expressions
- operators -- , - ,.., lt , lt ,.., , !
,.., , - indexing -- o e
- access -- o.m(...)
- in/decrement -- o, o--
- conditional -- b?e1e2
Assignment var expression modifying
-- . -, ...
7Control
- conditional -- if (b) S1 else S2
- selection -- switch(n) case n1 S1 break ...
default ... - iteration -- while (b) S
- looping -- for( int i 1 i lt MAX i) S
- jumps -- return, break, continue
Java -- control
8Hello World -- Java (1)
public class HelloWorld public static void
main(String args) System.out.println(
"Hello World")
9Hello World - interface public interface World
public void hello() Hello World -
class public class HelloWorld implements World
public void hello()
System.out.println("Hello World")
Java -- objects (2)
10Hello 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)
Java -- inheritance
11Java -- techniques
- applets -- extend your browser
- servlets -- extend your server
- networking -- urls, sockets
- RMI -- remote method invocation
- reflection -- meta-information
- beans -- component technology
- JNI -- writing native methods
- javadoc -- online class documentation
12The language Java
- design principles -- safety
- terminology -- object, interface
- syntax -- like C
- objects -- abstract data types, interfaces
- inheritance -- single inheritance
- techniques -- dynamic casts, reflection, APIs