2. Adgenda
• Class Introductions
• Brief History of Java
• Installations
• Java JDK
• Eclipse IDE
• High Level Overview of Java Language
• Object Orientation Introduction
3. Class Introductions
• Name
• Grade
• Programming Experience
• Any languages other than java?
• Favorite musical artist
• What you expect to get from the class.
5. Brief History of Java
• Developed at Sun Microsystems by James
Gosling
• Initial version was, called Oak, was based on C++
• Released in 1995
• Initial vision was to automate consumer devices
(TVs, cable boxes,VCRs etc.)
• Released with the HotJava browser
• Designed with a write once run anywhere
concept (Hardware independent)
8. Installations
• Copy the JavaClass directory from the USB
drive to your C drive
• Run the java installer (either 32 or 64 bit
depending on your OS)
• Extract the eclipse distribution archive into the
JavaClass directory on your C drive
• Copy JarClassFinder to the eclipse dropins
directory
• Install ObjectAid from the update site
(http://www.objectaid.net/update)
11. Java Overview
• Object oriented
• Two types of java programs
• Standalone
• Normal program run on a computer
• Can have a GUI or be headless
• Applet
• Run inside a web browser
14. Object Orientation
• What is OO?
• An OO solution categorized into 3 phases
• Analysis
• The analysis of a problem that focuses on the problem domain
and the discovery of the domain entities and their interactions
and relevant state information.
• Design
• The process of taking the analysis output and refining and
extending it into a collection of cooperating classes that can be
implemented to form a solution to a set of user requirements.
• Programming
• An approach that facilitates creation of modular, reusable
components through the use of object oriented concepts.
15. Object Orientation
• OO Concepts
• Abstraction
• The identification of the essential characteristics of an
item
• Encapsulation
• The grouping of related concepts into one item, such as a
class or component
• Information hiding
• The restriction of external access to attributes
• Aggregation
• Represents “is part of” or “contains” relationships
between two classes or components
16. Object Orientation
• OO Concepts (Continued)
• Class
• A template from which objects are
• Interface
• The definition of a collection of one or more operation
signatures that defines a cohesive set of behaviors
• Collaboration
• Classes work together (collaborate) to fulfill their
responsibilities
• Message
• A message is either a request for information or a request
to perform an
17. Object Orientation
• OO Concepts (Continued)
• Operation
• Something a class does (similar to a function in structured
programming)
• Inheritance (Single and Multiple)
• Represents “is a”, “is like”, and “is kind of”
relationships. When class “B” inherits from class “A” it
automatically has all of the attributes and operations that
“A” implements
• Polymorphism
• Different objects can respond to the same message in
different ways, enable objects to interact with one another
without knowing their exact type
18. Object Orientation
• OO Concepts (Continued)
• Subclass
• If class “B” inherits from class “A,” we say that “B” is a
subclass of “A”
• Superclass
• If class “B” inherits from class “A,” we say that “A” is a
superclass of “B”
• Operation
• Something a class does (similar to a function in structured
programming)
19. Object Orientation
• OO Concepts (Continued)
• Override
• Sometimes you need to override (redefine) attributes
and/or methods in subclasses