Training for people who want to learn how to design and build applications using Java.
During the training, participants will learn about the language syntax and selected Java classes as well as the concepts of object oriented programming and their practical use. They will also acquire the ability to independently solve problems using the available documentation during the process of creating applications in Java. The presented material largely covers the scope of knowledge required for the OCAJP exam (Programmer I).
Knowledge of the Windows environment. Having experience in programming in another object or structural language is an additional asset that facilitates the acquisition of knowledge.
- Training: English
- Introduction to Java technology
- A brief history of the language
- Java Distributions
- The concept of a virtual Java machine
- Java versions
- Installation of the environment
- Design assumptions
- Stages of application development
- Compilation
- Starting on
- Errors
- Documentation
- Rules for building applications in Java
- Features of integrated environments
- IDE configuration
- Facilitation at work
- The structure of the project
- Organizing classes in packages
- Simple objects and data types
- Simple types
- Type conversions: promotion and projection
- Accuracy of floating point representation
- Reference types
- Stack and heap concept
- Examples of classes: String and enum
- Class building: attributes, constructors, methods
- Static and instant elements
- Data blocks
- Declaration of packages
- Normal and static imports
- Transmission of data through parameters
- Basics of language syntax
- IDs
- Naming conventions
- Operators
- Precision of calculations
- Use BigInteger and BigDecimal classes
- Flow control instructions
- Unreachable and dead code
- Boards
- Basic concepts of object-oriented programming, part 1
- Object-oriented modeling
- Classes and objects
- Compactness and coupling
- Data abstraction
- Encapsulation
- Inheritance
- Access modifiers
- Basic concepts of object-oriented programming, part 2
- Polymorphism
- Creating objects
- Selected methods of the Object class
- Redefining of methods
- Final elements
- Overloading of methods and constructors
- Abstract classes, destiny, possibilities
- Interfaces, differences and similarities to abstract classes
- Marker interfaces
- Methods with the default implementation
- Split applications into layers
- Loose connections
- Annotations
- Selected design patterns
- Singleton
- Builder
- Introduction to lambda expressions
- Internal and anonymous classes
- The concept of a functional interface
- The syntax of lambda expressions
- Effective final elements
- Basic functional interfaces
- References to methods and constructors
- Handling errors and exceptions
- The concept of an exception
- Hierarchy of exceptions
- Controlled and uncontrolled exceptions
- Structure of the protected block
- Rules for handling exceptions
- Propagation of exceptions
- Unhandled exceptions, call stack
- Creating your own exception classes
- Time and date support in Java
- An overview of the capabilities of the java.time package
- Most common mistakes in Java
- Good practices, how to avoid common mistakes