Module 1 Introduction To Java Technology

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 62

Object Oriented Programming

(Java)
Module 1
Introduction to Java Technology
• Remember the History of Java Technology
• Understand the different features that Java offers
• Remember the different Java Editions
• Understand the use of JVM and J2SDK in creating
Java applications
• Know the History and features of Netbeans IDE
• Understand how to navigate through the Netbeans IDE
History and Features of Java

1.1

Object Oriented Programming


Java language, originally called the ‘Oak’, was developed by James
Gosling at Sun Microsystems, which is now a subsidiary of Oracle
Corporation, and released in 1995 as a core component of Sun
Microsystems' Java platform.

It has derived much of its syntax from C and C++ but has a simpler
object model and fewer low-level facilities.

Introduction to Java Technology


Java is a general-purpose, concurrent, class-based, object-
oriented language that is specifically designed to have as few
implementation dependencies as possible.

The Java source code files (files with .java extension) are
compiled into a format called bytecode (files with .class
extension), which can be executed by a Java interpreter.

Introduction to Java Technology


It was intended for use in Sun’s project research to work on a
programming software to control electronic devices.

It was modified to take advantage of the World Wide Web.


The WebRunner, later named as HotJava, was the very first
web browser created in Java.

In 1995, the Netscape Navigator internet browser was also


developed to support Java.

Introduction to Java Technology


1. Simple, object-oriented, and familiar

2. Robust and secure

3. Architecture neutral and portable

4. High performance

5. Interpreted, threaded, and dynamic

Introduction to Java Technology


Java Program
class HelloWorld{ Compiler
public static void main(String args[ ]){
System.out.println(“Hello World”);
}
} Interpreter Interpreter

HelloWorld.java
Interpreter
Hello World
Hello World

Hello World

Win32 MacOS

Solaris

Introduction to Java Technology


Java Editions:

J2SE: Java 2 Standard Edition

J2EE: Java 2 Enterprise Edition

J2ME: Java 2 Micro Edition

Introduction to Java Technology


The Java Virtual Machine (JVM)

Java is a portable language that could run


on any platform. The language was able to do
this by generating intermediate code for a
hypothetical computer called a virtual machine.

Introduction to Java Technology


The Java Virtual Machine (JVM)

The Java Virtual Machine (JVM) is a


program that runs on all computers. The JVM
creates a software simulation of a CPU and
memory and handles all communication between
the Java program and the underlying operating
system and hardware.

Introduction to Java Technology


myProgram.java
_________________ Interpreter
_____________
_______________

My
Program
myProgram.class
Compiler _________________
_____________
_______________

The Java source code (.java file) is normally


compiled to produce the bytecode file (.class file)
which is normally interpreted by the Java virtual
machine (JVM).
Introduction to Java Technology
The JVM and Application Architecture

source code “javac” byte code

Introduction to Java Technology


The JVM and Application Architecture

byte code Java Virtual Machine machine code

Introduction to Java Technology


How JVM Works

JVM for Windows OS


Windows

Byte code
.class File
(Java Application)

“Write once, run anywhere JVM for Linux OS


technology.” Linux

Introduction to Java Technology


The J2SDK (JDK)
Java 2 Software Development Kit contains

• java – the loader for Java applications


• javac – the compiler
• javadoc – the documentation generator
• other tools

Introduction to Java Technology


Steps in Creating a Java Application

1. Create the source code.


2. Compile the source code.
3. Run the program.

Introduction to Java Technology


Steps 1 : Creating the source code

Create the source code using any text


editor.

Save the file with a “.java” extension.


Example: HelloJava.java

Introduction to Java Technology


Steps 2 : Compiling the source code

Compile the source code to create the byte


code using javac tool from the J2SDK.

Open an MS-DOS console, browse for the


directory where you saved the source code.

Introduction to Java Technology


Steps 2 : Compiling the source code

Type the command javac HelloJava.java


and press ENTER.

Verify that the HelloJava.class has been


created.

Introduction to Java Technology


Steps 3 : Running the Program

To execute the program, type the


command: java HelloJava and press
ENTER.

Introduction to Java Technology


Exploring Netbeans IDE

1.2

Introduction to Java Technology


Introduction to IDE

• An Integrated Development
Environment is a computer software to
help computer programmers develop
software.

• The Leaders:
- NetBeans
- Microsoft Visual Studio
- Eclipse

Introduction to Java Technology


Introduction to IDE

• What does an IDE consist of:


- Source code Editor.
- Compiler and/or interpreter.
- Build- automation tools.

• Optional Tools:
- Debugger.
- Version control system.
- Various tools to simplify the construction of a GUI.

Introduction to Java Technology


Introduction to IDE

• Tools For Object Oriented Design:


- Object inspector.
- Class Browser.
- Class hierarchy diagram.

Introduction to Java Technology


Why Do We Need An IDE?

• IDE abstracts the configuration necessary to piece together


various utilities in one unit, which could ease the learning of
a language, and increases developer productivity.

• Most IDEs today have GUI modeling utilities that simplify the
development of UIs, which is critical for commercial
software today.

Introduction to Java Technology


The History Of NetBeans

• It all started as a student project called Xelfi

• The Goal was to write a Delphi- like Java IDE in Java for the
first time.

• The original plan was to develop network-enabled JavaBeans


components, hens the name. but coming out of the spec for
enterprise changed the plans.

• Sun decided it needs a more powerful Java development


tool, and the rest is history.

Introduction to Java Technology


About NetBeans

• A fast fully-featured Integrated Development Environment


(IDE) with support for Java.

• Compliant applications for accelerating development across


all major OS platforms.

• Provides an open source, high performance, modular,


extensible, multi-platform Java IDE for GUI, mobile tools,
Web, and Desktop applications.

• Written in java and therefore runs on every operating


system that supports Java VM.
Introduction to Java Technology
NetBeans Features

• Environment: easily configured user interface and a


modular architecture extensible with additional plugins.

• Project System: support for multiple source roots, easy


management of libraries, easily ported to other
environments, all based on Apache Ant.

• Web Development: Web Application project type, Supports


the J2EE 1.3 and 1.4 standards with web application build
support based on Apache Ant.

Introduction to Java Technology


NetBeans Features

• Enterprise Java Beans (EJB) Development: easy to create


and deploy and import java beans.

• Web Services Development: wizards for creating web


services and web services clients, providing the basic
(java/wsdl) code needed, and easy to use testing tools of
existing web services.

• Java 2 Platform, Micro Edition (J2ME) MIDP development:


visual design editor with end-to-end support for enterprise
applications.

Introduction to Java Technology


NetBeans Features

• Code Editor: Syntax highlighting for Java, XML, HTML, CSS,


JSP and IDL, full support of new JDK 1.5 features, live
parsing/error marking, popup javadoc, code completion, and
fast class importing.

• Refactoring: renaming, changing and moving of various


objects, field encapsulation and usage finding.

• Award Winning Debugger: Language independent debugger


core, variable modification and watches, various
breakpoints and “Fix and Continue” mechanism.

Introduction to Java Technology


NetBeans Features

• GUI Builder: fully WYSIWYG designer with "Test Form"


feature, extensible Component Palette pre-installed Swing
and AWT components, showing a components tree and
properties, automatic code generation and full JavaBeans
support.

• Version control Support: supports command lined vcs,


supplying merging and diff tools and containing a built- in
CVS client.

• XML: XML, DTD and CSS Text Editor and XML Productivity
Tools Wizards to help user generate codes.

Introduction to Java Technology


NetBeans Extras

• NetBeans Profiler: provides information about the runtime


behavior of applications. Allows developers to monitor the
thread state, CPU performance, and memory usage of their
applications. makes it easy to track down performance
problems and memory leaks.

• NetBeans Platform: provides the services common to


almost all large desktop applications such as: window, menu,
settings management and storage, file access and more.

Introduction to Java Technology


NetBeans Extras

• NetBeans Mobility Pack: used to write, test, and debug


applications for the Java Micro Edition platform (J2ME)
technology-enabled mobile devices. It integrates support for
the Mobile Information Device Profile (MIDP) 2.0, the
Connected, Limited Device Configuration (CLDC) 1.1.

• The mobility pack allows for the unique “On-Phone”


debugging mode.

Introduction to Java Technology


NetBeans Matisse

• The biggest improvement


from the previous version
and the feature with the
biggest impact is the new
GUI- Builder, Matisse.

Introduction to Java Technology


NetBeans Matisse

• The Goal: to take the best features from OSX and VS


designers and allow the same possibilities for Java
Programmers.

• In order to reach that goal there was a need to develop a


new layout manager to support all the needed
functionalities.

Introduction to Java Technology


NetBeans Matisse

• Matisse provides a simple and intuitive layout of GUIs


without having to understand the complexities of Swing
layout managers.
• As you drag and drop components into a form, the IDE
automatically suggests alignment, spacing, and resizing
constraints.
• By simply right clicking a UI Object you can add an event
handler with a method waiting to be implemented without
knowing too much about the surrounding of this object.
(watch example clip in the site)

Introduction to Java Technology


NetBeans Matisse - Advantages

• For the first time, there’s an intelligent way to build GUI for
Java (unlike eclipse), that can actually compete with the
Visual Studio Gui builder.

• Supports internationalization, and industrial look-and-feel


rules, which is very important for large scale application
meant to be spread world wide.

• Builds also GUI web applications, HTML, JSP, etc

Introduction to Java Technology


NetBeans Matisse - Disadvantages

• No built-in support for Drag-n-Drop or double-click events.

• Matisse’s code is protected so customizing is not very easy


and not always possible.

• Not all applications are easily built. For instance, an MDI


Project is not that trivial to build

Introduction to Java Technology


How To Get Started?

• How to install
• A Quick start Guide
• Importing existing applications
• Advanced

Introduction to Java Technology


Installation

• Installing JDK: in order to install NetBeans you need to first


install JDK. You can easily find an installation in Sun’s web
site.

• NetBeans installation: you can find the installations kits for


all the versions in the NetBeans home page.

• Installation steps: you can watch a movie describing the


installation step by step in the.

Introduction to Java Technology


Quick Start Guide

1. Starting up a project
2. Creating and editing java source code
3. Compiling and running a project
4. Testing and debugging a project

Introduction to Java Technology


Starting Up A Project

• Creating a new project: in the file menu choose “new


project” and look at the possibilities.

Introduction to Java Technology


Starting Up A Project

• When creating a new project, NetBeans already includes


all the needed packages for compiling and testing. It also
outlines the sources by the right logical directories and
creates the files that are mandatory. For instance, if you
create a new java application you must implement a main
class and so it’s automatically created.

Introduction to Java Technology


Editing and Refactoring

• When editing a code you can see the difference between


the old version and the new version when using the Code
Completion tool.

• You can use “Find Usage” tool when working on a project to


predict the changes you will need to make.

• You can use refactoring to easily change places of things


without going through all the code to change it.

Introduction to Java Technology


Building and Running

• No makefile or manual creation of an Ant file needed (by


default). A simple instruction saying which class to run and
what to build will suffice. Netbeans will create the Ant file
automatically.

• While Building you can also generate the javadoc very easily.

Introduction to Java Technology


Testing

• JUnit Tests: you simply choose the


class you want to test and in the
tools menu choose “create JUnit
Test”. After filling the arguments
NetBeans automatically creates a
test class inheriting from TestCase
with the default methods to
implement and puts everything
under the Test package.

Introduction to Java Technology


Debugging

• NetBeans has two modes, run mode and debug mode.

• The debug mode is very easy to use.

• You can use the local variables window and watch window
to follow the progress of the program.

Introduction to Java Technology


NetBeans IDE Java Quick Start Tutorial

Contents:
üSetting Up the Project
üAdding Code to the Generated Source File
üCompiling and Running the Application

Required Software/Resource:
üNetBeans IDE version 7.2, 7.3, 7.4, or 8.0
üJava Development Kit (JDK)version 6, 7, or 8

Introduction to Java Technology


Setting Up Your First Project

To create an IDE project:


1. Start NetBeans IDE.
2. In the IDE, choose File > New Project, as shown in the
figure below.

Introduction to Java Technology


Setting Up Your First Project

3. In the New Project wizard, expand the Java category


and select Java Application as shown in the figure below.
Then click Next.

Introduction to Java Technology


Setting Up Your First Project

4. In the Name and Location page of the wizard, do the following:


üIn theProject Name field, type HelloWorldApp.
üLeave the Use Dedicated Folder for Storing Libraries checkbox
unselected.
üIn the Create Main Class field, type helloworldapp.HelloWorldApp.

Introduction to Java Technology


Setting Up Your First Project

5. Click Finish.
üThe project is created and opened in the IDE. You
should see the following components:
üThe Projects window, which contains a tree view of
the components of the project, including source files,
libraries that your code depends on, and so on.
üThe Source Editor window with a file called
HelloWorldApp open.
üThe Navigator window, which you can use to quickly
navigate between elements within the selected class.

Introduction to Java Technology


Setting Up Your First Project

Introduction to Java Technology


Adding Code to the Generated Source File

Because you have left the Create Main Class checkbox


selected in the New Project wizard, the IDE has created a
skeleton main class for you.

You can add the "Hello World!" message to the skeleton


code by replacing the line:

Introduction to Java Technology


Setting Up the Project

Introduction to Java Technology


Compiling and Running the Program

üBecause of the IDE's Compile on Save feature, you do


not have to manually compile your project in order to run
it in the IDE.
üWhen you save a Java source file, the IDE
automatically compiles it.
üThe Compile on Save feature can be turned off in the
Project Properties window.
üRight-click your project, select Properties. In the
Properties window, choose the Compiling tab.
üThe Compile on Save checkbox is right at the top.

Introduction to Java Technology


Compiling and Running the Program

Note that in the Project Properties window you can


configure numerous settings for your project: project
libraries, packaging, building, running, etc.

To run the program:

Choose Run > Run Project.


Press F6/Shift+F6.
Click the run button from toolbar.
Click the play button from output window.

The next figure shows what you should now see.

Introduction to Java Technology


Compiling and Running the Program

Introduction to Java Technology


Backiel, A. (2015). Beginning Java Programming: The Object-oriented Approach. 1st Edition
Fain, Y. (2015). Java programming 24-hour trainer. John Wiley and Sons:Indianapolis, IN
Smith, J. (2015). Java programs to accompany Programming logic and design. Cengage Learning:Boston, MA
Yener, M (2015). Professional Java EE Design Patterns. John Wiley & Sons, Inc.
Gordon, S. (2017). Computer Graphics Programming in opengl with Java. Mercury Learning and Information
Butler, A (2017). Java. s.n
Lowe, D (2017). Java all-in-one for dummies. John Wiley and Sons
Saumont, P (2017). Functional Programming in Java: How Functional Techniques Improve Your Java Programs. 1st Edition
Heffelfinger, D. (2017). Java EE 8 Application Development. Packt Puublishing
Murach, J. (2017). Murach’s Java Programming. Mike Murach & Associates,Inc.
Burd, B. (2017). Beginning programming with Java for dummies. John Wiley & Sons, Inc.
Manelli, L. (2017). Developing java web application in a day. s.n.
Klausen, P. (2017). Java 5: Files and Java IO software development (e-book)
Klausen, P. (2017). Java 3 object-oriented programming software development (e-book)
Muller, M (2018). Practical JSF in Java EE 8. Apress

You might also like