В практически курс „Java SE 8“ ще се научите да създавате богата гама от приложения които да работят лесно и стабилно на различни платформи.

В процеса на обучението ще разработите следните приложения – Calculator, MoviesCatalog, CarRental, EmployeesDataSystem, Tic-Tac-Toe, ChatRoom, HeroesAndVilians, CongressCenter.

Програма на курс Java SE 8

1. Java Fundamentals First Steps

  • The Origins of Java
  • Java’s Contribution to the Internet
  • Java Applets
  • Security
  • Portability
  • Java’s Magic: The Bytecode
  • The Java Buzzwords
  • Object-Oriented Programming
  • Encapsulation
  • Polymorphism
  • Inheritance
  • The Java Keywords
  • The Java Class Libraries

2. Classes, Objects, and Methods

  • How Objects Are Created
  • Reference Variables and Assignment
  • Methods
  • Parameterized Constructors
  • The new Operator Revisited
  • Garbage Collection
  • The finalize( ) Method
  • The this Keyword

3. More Data Types and Operators

  • One-Dimensional Arrays
  • Sorting an Array
  • Multidimensional Arrays
  • Alternative Array Declaration Syntax
  • Assigning Array References
  • Strings
  • Arrays of Strings
  • Using a String to Control a switch Statement
  • Using Command-Line Arguments
  • The Bitwise Operators
  • The Bitwise AND, OR, XOR, and NOT Operators
  • The Shift Operators
  • Bitwise Shorthand Assignments
  • The ? Operator

4. A Closer Look at Methods and Classes

  • Controlling Access to Class Members
  • Java’s Access Modifiers
  • Pass Objects to Methods
  • Returning Objects
  • Method Overloading
  • Overloading Constructors
  • Recursion
  • Understanding static
  • Static Blocks
  • Introducing Nested and Inner Classes
  • Varargs: Variable-Length Arguments
  • Overloading Varargs Methods
  • Varargs and Ambiguity

5. Inheritance

  • Inheritance Basics
  • Member Access and Inheritance
  • Constructors and Inheritance
  • Using super to Call Superclass Constructors
  • Using super to Access Superclass Members
  • Creating a Multilevel Hierarchy
  • Superclass References and Subclass Objects
  • Method Overriding
  • Overridden Methods Support Polymorphism
  • Using Abstract Classes
  • Using final
  • The Object Class

6. Packages and Interfaces

  • Packages
  • Defining a Package
  • Finding Packages and CLASSPATH
  • Packages and Member Access
  • Understanding Protected Members
  • Importing Packages
  • Interfaces
  • Implementing Interfaces
  • Using Interface References
  • Variables in Interfaces
  • Interfaces Can Be Extended
  • Default Interface Methods
  • Default Method Fundamentals
  • Multiple Inheritance Issues
  • Use static Methods in an Interface
  • Final Thoughts on Packages and Interfaces

7. Generics

  • Generics Fundamentals
  • A Simple Generics Example
  • Bounded Types
  • Using Wildcard Arguments
  • Bounded Wildcards
  • Generic Methods
  • Generic Constructors
  • Generic Interfaces
  • Raw Types and Legacy Code
  • Type Inference with the Diamond Operator
  • Erasure
  • Ambiguity Errors
  • Some Generic Restrictions

8. Enumerations, Autoboxing, Static Import, and Annotations

  • Enumerations
  • Java Enumerations Are Class Types
  • The values( ) and valueOf( ) Methods
  • Constructors, Methods, Instance Variables, and Enumerations
  • Enumerations Inherit Enum
  • Autoboxing
  • Type Wrappers
  • Autoboxing Fundamentals
  • Autoboxing and Methods
  • Autoboxing/Unboxing Occurs in Expressions
  • Static Import
  • Annotations (Metadata)

9. Lambda Expressions and Method References

  • Lambda Expression Fundamentals
  • Functional Interfaces
  • Lambda Expressions in Action
  • Block Lambda Expressions
  • Generic Functional Interfaces
  • Lambda Expressions and Variable Capture
  • Throw an Exception from Within a Lambda Expression
  • Method References
  • Constructor References
  • Predefined Functional Interfaces

10. Introducing Swing

  • The Origins and Design Philosophy of Swing
  • Components and Containers
  • Components
  • Containers
  • The Top-Level Container Panes
  • Layout Managers
  • Use JButton
  • Work with JTextField
  • Create a JCheckBox
  • Work with JList
  • Use Anonymous Inner Classes or Lambda Expressions to Handle Events
  • Create a Swing Applet

11. Exception Handling

  • The Exception Hierarchy
  • Using try and catch
  • The Consequences of an Uncaught Exception
  • Exceptions Enable You to Handle Errors Gracefully
  • Using Multiple catch Statements
  • Catching Subclass Exceptions
  • Try Blocks Can Be Nested
  • Throwing an Exception
  • A Closer Look at Throwable
  • Using finally
  • Using throws
  • Three Recently Added Exception Features
  • Java’s Built-in Exceptions
  • Creating Exception Subclasses

12. Using I/O

  • Java’s I/O Is Built upon Streams
  • Byte Streams and Character Streams
  • The Byte Stream Classes
  • The Character Stream Classes
  • The Predefined Streams
  • Using the Byte Streams
  • Reading and Writing Files Using Byte Streams
  • Automatically Closing a File
  • Reading and Writing Binary Data
  • Random-Access Files
  • Using Java’s Character-Based Streams
  • File I/O Using Character Streams
  • Using Java’s Type Wrappers to Convert Numeric Strings

13. Multithreaded Programming

  • Multithreading Fundamentals
  • The Thread Class and Runnable Interface
  • Creating a Thread
  • Creating Multiple Threads
  • Determining When a Thread Ends
  • Thread Priorities
  • Synchronization
  • Using Synchronized Methods
  • The synchronized Statement
  • Thread Communication Using notify( ), wait( ), and notifyAll( )
  • Suspending, Resuming, and Stopping Threads

14. Accessing Databases with JDBC.

  • Relational Databases
  • SQL
  • Basic SELECT Query
  • WHERE Clause
  • ORDER BY Clause
  • Merging Data from Multiple Tables: INNER JOIN
  • INSERT Statement
  • UPDATE Statement
  • DELETE Statement
  • Manipulating Databases with JDBC
  • Connecting to and Querying a Database
  • RowSet Interface
  • Java DB/Apache Derby
  • PreparedStatements
  • Stored Procedures
  • Transaction Processing

15. Applets, Events, and Other Topics

  • Applet Basics
  • The Applet Architecture
  • Applet Initialization and Termination
  • Requesting Repainting
  • Using the Status Window
  • Passing Parameters to Applets
  • The Applet Class
  • Event Handling
  • The Delegation Event Model
  • Events
  • Event Sources
  • Event Listeners
  • Event Classes
  • Event Listener Interfaces
  • Using the Delegation Event Model
  • Handling Mouse and Mouse Motion Events
  • The transient and volatile Modifiers
  • instanceof
  • strictfp
  • assert
  • Native Methods

16. Networking.

  • Manipulating URLs
  • Reading a File on a Web Server
  • Establishing a Simple Server Using Stream Sockets
  • Establishing a Simple Client Using Stream Sockets
  • Client/Server Interaction with Stream Socket Connections
  • Client/Server Tic-Tac-Toe Using a Multithreaded Server

17. Introducing JavaFX

  • JavaFX Basic Concepts
  • The JavaFX Packages
  • The Stage and Scene Classes
  • Nodes and Scene Graphs
  • Layouts
  • The Application Class and the Life-cycle Methods
  • A JavaFX Application Skeleton
  • The Application Thread
  • A Simple JavaFX Control: Label
  • Using Buttons and Events
  • Event Basics
  • CheckBox
  • ListView
  • TextField