5. Java materials
• Java 2 = sdk 1.2 or better
• http://java.sun.com/j2se/
• Documentation:
• http://java.sun.com/docs/
• Tutorials, reference, API
• Borland JBuilder 6
• http://www.borland.com/jbuilder/personal/
• Free! Cross between VB and VC++
6. Java differences
• Basic statements identical to C++
• Object-oriented only!
• No .h files
• main() is inside a class
• No global variables
• No pointers (object references only)
• No delete: automatic garbage collection
• Single inheritance only, “interfaces”
• Applet/application
• GUI: AWT, Swing
• Packaging
• Error Handling, exceptions (try, catch)
• E.g. Array bounds checking
• Security
• Components: beans
7. Java compiling
• Code:
• hello.java (text file)
• Compile:
• javac hello.java
• Creates: hello.class (byte code)
• Run:
• java hello
• Java virtual machine, interpets/compiles (machine code)
• Packaging: jar
• Or use JBuilder, like VC++
8. Java Applications
• Run from command line
• hello.java:
class hello {
public static void main(String[] args){
System.out.println(“Hello World!”);
}
}
• javac hello.java
• java hello
Hello World!
9. Typically create objects
• hello.java:
class hello {
public static void main(String[] args){
// Create and use objects
hello h = new hello();
…
}
public hello(){ // Constructor
…
}
…
}
10. Many Classes
• Compile each separately
• Can be main( ) in any/all classes
• hello.java:
class hello {
goodbye g;
public static void main(String[] args){
…
}
• goodbye.java:
class goodbye {
public static void main(String[] args){
…
}
13. Java Applets
• Run in a web browser
• hello.java:
import javax.swing.*;
class hello extends JApplet {
public void init(){
getContentPane().add(
new JLabel(“Hello World!”) );
}
}
• javac hello.java
Hello World!
• appletviewer hello
14. Java Applets in HTML
• hello.html:
<html><body>
<applet code=“hello.class”
height=100 width=200>
Need java.
</applet>
</body></html>
hello.html
• Put hello.html and
hello.class on website
Hello World!
• Java plug-in
16. Applet Security
• No read/write on client machine
• Can’t execute programs on client machine
• Communicate only with server
• “Java applet window” Warning
• Certificates