|
|
 |
|
|
 |
 |
 |
|
Course
Outline
Background of Java
- Your first Java program
- How it all comes together
- A Java identifier
- Javadoc program
- The 52 keywords in Java
Data Types, Variables, Control Statements and Operators
- Data types
- null literal
- String literals
- Resulting type of an arithmetic computation
- Primitive to primitive conversions
- Variables
- Decision Statements
- Loop statements
- Jump statements
- Arithmetic Operators
- Bitwise operators
- Relational operators
Arrays and Command Line Arguments
- Declaring a reference to an array
- Allocating heap space for the array
- Array initialization
- Unnamed (anonymous) arrays
- Length of an array
- An empty array
- How to dynamically grow an array
- Arrays of user-defined (class) types
- Arrays of String objects
- 2-dimensional arrays (array of arrays)
- How to copy an array
- Command line arguments
Class Construction
- Background
- Review of a program's data memory
- Instantiating classes
- Assigning class references
- Garbage Collection
- Methods
- Constructors
- Initialization and constructors
- this keyword
- Array of instances (other than type String)
Class Methods
- Access control
- Method invocation
- Getting out of the static habit
- Passing arguments into methods
- Returning references from methods
- Passing array references to and from methods
- Method chaining
- Nonstatic vs static method (a pontification)
- Overloading class methods
- Class statics (review)
- Static initialization block
- final keyword
- How to create enumerated types in Java
Inheritance, Object class, Nested classes
- Fundamentals of inheritance
- Access privileges of subclass methods regarding the members of its superclass:
- Changing accessibility of class members during inheritance
- final to prevent overriding
- final to prevent subclassing
- Constructors and inheritance
- super keyword
- Data hiding (shadowing)
- Method hiding (overriding)
- Method overloading
- Binding a superclass reference to a subclass object
- Polymorphism
- Which Java methods are polymorphic?
- Polymorphism from within a constructor
- A real-life example
- Abstract classes and abstract methods
- Method overloading with inheritance
- Object class
- finalize() method
- toString() method
- instanceof keyword
- User-defined to user-defined conversions
- equals() method
- Nested top-level classes
Packages, Interfaces and Inner Classes
- Packages
- Naming conventions
- Creating a package
- Accessing a .class file from inside a package
- Avoiding the fully qualified class name
- classpath variable
- Interfaces
- Implementing an interface
- java.util.Enumeration
- An interface for sorting
- An interface to hold constants
- Inner classes
Exception Handling and Cloning
- Definition
- Exception classes
- Checked and unchecked exceptions
- 3 types of library exceptions
- User-defined exceptions
- Not catching an exception
- Catching an exception
- Throwing an exception
- Declaring exceptions that can be thrown
- finally keyword
- Example using a Stack class
- assert keyword
- Cloning
Core Classes
- java.lang.String
- java.lang.StringBuffer
- java.lang.Number
- Byte, Short, Integer, Long, Float, and Double
- java.lang.Character
- java.lang.Boolean
- java.lang.Runtime
- java.lang.System
- java.lang.Class
Collection Classes
Multithreaded Programming
- Background
- A program without threads
- A program using threads
- Overview of the methods
- Priorities and scheduling
- The first way to spawn a thread
- Second way to create a thread
- Starting the JVM
- Threads sharing methods
- Daemon threads
- stop() method
- Synchronization of threads
- synchronized keyword
- wait() method
- notify() method
- Synchronized block
- notifyAll() method
Input/Output
- Byte vs. character streams
- Predefined streams
- class java.io.Writer
- class java.io.PrintWriter
- class java.io.Reader
- class InputStreamReader
- class java.io.BufferedReader
- class java.io.FileOutputStream
- class java.io.FileInputStream
- How to stream objects
- How to communicate between threads
Back to Course Description
Class Schedule
Registration
|
|
|