Java SE 8
В практически курс "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