120 likes | 263 Views
Principles of Object-Oriented Software Development. The language Java. The language Java. Introduction Terminology Expressions Control Objects Inheritance Techniques Summary. Java -- the dial-tone of the Internet 1995 Introduction at WWW3
E N D
Principles of Object-Oriented Software Development The language Java
The language Java Introduction Terminology Expressions Control Objects Inheritance Techniques Summary
Java -- 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/docs/books/tutorial
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
Type expressions • basic types -- int, char, float, ... • Array -- int ar[SIZE] • String -- String[] args • class -- user-defined
Expressions • operators -- + , - ,.., < , <= ,.., == , ! = ,.., && , || • indexing -- o[ e ] • access -- o.m(...) • in/decrement -- o++, o-- • conditional -- b?e1:e2 Assignment var = expression modifying -- +=. -=, ...
Control • conditional -- if (b) S1; else S2; • selection -- switch(n) { case n1: S1; break; ... default: ... } • iteration -- while (b) S • looping -- for( int i = 1; i <= MAX; i++) S • jumps -- return, break, continue Java -- control
Hello World -- Java (1) public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } };
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"); } }; 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); } }; Java -- inheritance
Java -- 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
The language Java • design principles -- safety • terminology -- object, interface • syntax -- like C++ • objects -- abstract data types, interfaces • inheritance -- single inheritance • techniques -- dynamic casts, reflection, APIs