
Start from scratch to learn Java basics for testers, exploring object-oriented programming, automation needs, and the job market relevance.
Install Java on Windows from Oracle site using JDK 8 and set JAVA_HOME; verify with command prompt. Download and extract Eclipse Luna, then start it and create a workspace.
Install Java on a Mac from Oracle, selecting Java 8 for stability and compatibility, and complete installation. Set the Java home in your Bash profile and verify with java -version.
Install Eclipse on Mac and set up a workspace to develop, compile, and run Java code with a stable editor used by Java developers.
Discover why Java is essential for automation testers, with market demand for Selenium and REST-assured, and learn Java fundamentals, object-oriented concepts, platform independence, and Eclipse setup.
Learn to set up a Java project in Eclipse, create a package and class, write a main method, print to the console, and instantiate objects to call methods.
Explore data types in Java, distinguishing primitive and non-primitive types, declare variables, and print values using long, float, double, char, and boolean.
Discover how the main method serves as the program's entry point for the JVM. Learn why public static void main(String[] args) is required and how it enables starting the application.
Learn how Java variables store data in memory with a declared type. Distinguish local, instance, and static variables, including class-name access for static members and constants.
Explore Java access modifiers—public, private, default, and protected—and learn how they control access to classes, variables, and methods within the same class, package, and through inheritance.
Explore Java operators—from assignment and arithmetic to relational and conditional operators—demonstrating how to perform calculations, compare values, and drive control flow with if-else statements.
Java uses classes as blueprints to create objects with state and behavior. Instantiate objects with the new keyword and understand how a class serves as a blueprint for multiple objects.
Explore how Java inheritance lets a subclass reuse non-private members from a parent class, covering single, hierarchical, and multilevel inheritance, and explain why multiple inheritance causes the diamond problem.
Learn how encapsulation in Java protects data by making fields private and exposing controlled access via getters and setters, preventing unintended modification and enhancing reliability.
Explore how abstraction in Java uses abstract classes and methods to define behavior, require concrete subclasses to extend and implement, and support both abstract and concrete methods.
Learn method overloading in Java by using the same method name with different signatures, resolved at compile time by static binding, enabling polymorphism with rectangle and square area examples.
Explore method overriding in Java: how a child class provides a specific implementation for a parent method with the same name and signature, governed by dynamic binding.
Explore polymorphism in Java, where a single interface can have multiple implementations; distinguish static (compile-time) polymorphism from dynamic (runtime) polymorphism and method overriding.
Understand the Java collection framework, introduced in Java 1.2, that unites ArrayList, Vector, and HashTable under common interfaces such as Iterable, List, Set, and Map.
Understand how the iterator interface traverses collection elements one by one using has next and next, including remove, and contrast it with enumeration for legacy vectors and hash tables.
Explore the Java collection iterator and list iterator, focusing on hasNext, next, remove, nextIndex, hasPrevious, previous, previousIndex, set, and add for bidirectional list traversal.
Explore the Java list interface and its implementing classes ArrayList, LinkedList, vector, and stack, as an ordered collection that allows duplicates and supports add, get, and subList.
ArrayList implements the List interface in the Java collection and supports all list operations. As a dynamic array, it grows or shrinks at runtime, allowing add, remove, and random access.
Explore how LinkedList stores elements in a doubly linked structure, offering dynamic size and constant-time adds/removes at ends, unlike ArrayList's backing array and index-based shifts.
Explore the Java set interface, compare it with list behavior, and learn to remove duplicates by converting an ArrayList to a set. Overview of HashSet, LinkedSet, and TreeSet.
Understand how HashSet implements the set interface, disallows duplicates and null values, and does not preserve insertion order. Note initial capacity 16, load factor 0.75, and rehashing.
Explore LinkedList in the Java collection framework, a dynamic doubly linked structure with previous and next pointers that preserves insertion order and enables constant time adds and removes at ends.
Learn about TreeSet in Java, a sorted set backed by a red-black tree that auto sorts, removes duplicates, and provides methods like add, first, last, headSet, tailSet, and subSet.
Explore the Java map interface, learn how key-value pairs store unique keys with potentially duplicate values, compare it to list and set, and preview HashMap, LinkedHashMap, and TreeMap.
Explore hash map basics in java, including key-value storage, single null key, multiple null values, and hashing-based memory structure; learn put, get, remove, size, and clear operations.
Learn how LinkedHashSet, an ordered variant of HashSet, maintains insertion order with a doubly linked list while storing unique elements and sharing all set methods, with no null values.
Convert arrays to ArrayList and ArrayList to arrays in Java, using dynamic lists, constructors, and asList to build and update lists, then print elements with loops.
Convert an array list to a set to remove duplicates in Java, using the set constructor with the list, then print results to show unique values.
This is only Java related course and it's great because it covers just the right amount of Java which is needed for automation, but this course does not cover Selenium WebDriver and REST API Automation or any other type of automation tool.
This is a comprehensive yet simple course on java programming language and it concentrates on Java programming concepts.
*************************** No Prior Coding Experience Needed ***************************
This course assumes that you have no programming background. If you have some experience then, it's just a bonus point. You have never code, have some experience or have a lot of experience any other programming language, this course is one stop place for you.
Java is one of the most and useful programming languages to learn You can build back-end of web applications and build robust test automation framework. Specially for Selenium WebDriver GUI automation, Java is most popular choice and has the largest community.
Why learn Java compared to other programming languages?
That’s easy.
Java is the most popular programming language in use (TIOBE index) since it’s the only language that works across all computer platforms (and android mobile) without needing to be recompiled (edited) for each one.
You code once, and the JVM (Java Virtual Machine) does all the work in making sure your awesome new programme runs smoothly on any platform, whether Windows, Mac, Linux or Android mobile.
You will get the best in class support from the instructor for any question you have related to the course.
Each lecture consist of a video screencast and code files
There are quizzes, homework to test your knowledge
High focus on practice and asking questions
You will also learn coding best practices
Market is never short of jobs in Java programming language, there are ample of jobs in both Java development and Automation Testing using Java.
This course is backed by udemy's 30-day money back guarantee. If you are not satisfied for any reason, you will get the money back. In addition to that you will keep all the code files of the course as a thank you for trying out the course !!!
What are you waiting for? Enroll today and learn the powerful Java language !!!