
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Begin your Java programming bootcamp journey by exploring real project examples like a calculator, media app, and banking features, while learning Java fundamentals, object oriented concepts, and JavaFX integration.
Learn the four essential steps to write Java code: understand the concept, master the syntax, build your logic, and write code.
Choose and install an IDE for Java programming, such as NetBeans, Eclipse, or IntelliJ IDEA, download the JDK, install the IDE, and run a hello world program to verify setup.
Learn how variables act as named memory locations that store values in Java, declare variables with datatype and name, assign values like strings and integers, and access them by name.
Explore Java primitive data types, including boolean, byte, short, int, long, float, double, and char, with default values and size ranges, and preview string for next video.
Learn to write your first Java program that prints hello world using a main method within a simple class and package, highlighting the program structure and basic Java syntax.
Explore the Java string data type, learn creation and concatenation with the plus operator, and use length, toUpperCase, contains, and indexOf to manipulate and inspect strings.
Explore how Java expressions evaluate values and guide control flow, including arithmetic and conditional expressions, comparisons, and the role of System.out.println in displaying results.
Explore Java keywords and reserved words, understand why you cannot use them as variable names, and see how blue keywords in code define predefined meanings.
Explore escape sequences in java, driven by the backslash to produce new lines, spaces, quotes, and backspaces, including printing a literal backslash.
Discover how Java comments—single-line, multi-line, and documentation—boost readability and collaboration by documenting code blocks and functions, while noting that comments are ignored by the compiler.
Learn how to take user input in Java using the Scanner class, reading data from keyboard via System.in and its buffer, converting it with next, nextLine, nextInt, other methods.
Learn how initialization blocks run when a class is initialized, initialize instance and static variables, and how super invokes parent before child constructors in inheritance.
Explore Java operators, focusing on arithmetic, assignment, and relational operators. Learn to perform arithmetic operations, assign values, and compare variables using equals, not equals, and greater/less relations.
Explore Java operators in depth, including bitwise and logical operators, the ternary conditional operator, and the instanceof check, with binary to decimal conversions and practical examples.
Define and use Java packages to organize classes into folders, enabling access protection and namespace management. Use the import keyword to access classes from other packages, such as the scanner.
This lecture introduces the if statement in Java, showing how a condition controls execution of a code block and how to read age with a scanner to display a message.
Learn how the if else statement evaluates a condition and executes either the if or else block, using examples like checking if a number is even or odd.
Explore the if, else, and else-if control flow in Java, with practical examples using user input and conditional ranges to decide messages and actions.
Learn how to find the largest of three numbers using nested if statements in Java, with practical examples and a simple console program.
Explore the switch statement in Java: compare a value to cases, execute the matching block, and use break or default, illustrated with a scanner reading the first letter.
Learn to use conditional statements in Java by building a program that reads quantity and price, applies quantity-based discounts, and computes revenue and the discount rate.
Explore how loops repeat actions until a condition is false, focusing on the while loop in java that prints numbers and evens. Contrast with for and enhanced for loops.
Explore the do-while loop in Java, which executes its body at least once and then checks the condition to continue, as shown in a login system example.
Learn how for loops work in Java, including initialization, condition, and increment. Master nested loops to print patterns like diamonds with spaces and asterisks.
Discover how the enhanced for loop, or for-each loop, iterates over arrays or collections without indices, prints each element in sequence, and compares it to index-based loops.
Explore the structure of Java methods, including public/private/protected modifiers, return types, parameters, and static versus non-static context, with examples of calling, returning values, and using the main method.
Explore parameters and arguments in Java methods, defining function parameters and passing user input with a scanner to determine the greatest number among three values.
Learn to build a Java password validator that enforces at least 10 characters, only letters and digits, and at least two digits using modular functions and a scanner.
Understand object oriented programming through dog class as a blueprint with states and behaviors. See how a student class uses instance variables and methods to print name and roll number.
Explore Java classes, instance and class variables, static, local variables, and access levels; learn why private and protected are avoided, plus constructors and polymorphism, inheritance, encapsulation, and abstraction.
Discover how Java access modifiers—default, private, protected, and public—control visibility within a package, in a class, and across packages, with one public class per file.
discover how constructors initialize object state in Java, including parameterized and non-parameterized forms, the default constructor, and how to access initialized fields through getters.
Explore constructor chaining in Java by creating class A and class B, using super and this to call constructors, and observing the execution order through printed messages.
Compare references, objects, and instances in Java, explain how references point to objects created with new, and how instances hold state and behavior as copies of a class.
Explore encapsulation in Java by hiding data with private fields and enabling controlled access through public getters and setters, ensuring read-only or write-only access and better data control.
Master composition as a design technique that enables has-a relationships and code reuse, illustrated by a car and its engine. Learn how instance variables and visibility model parts within objects.
Explore the static keyword in Java, showing how static variables allocate memory once, support class-wide data, initialization blocks, static methods, and the static main function for inner and nested classes.
I hope that you know the concept of Class and Objects in Java programming. Most of the people still don’t know that we can create a static class in Java. If you are one of them then you are at the right place because today I am going to discuss java Static Class with examples.
There are a lot more points to discuss this topic. Most of the people are confused about this topic. So, open your eyes and read it very carefully. You are going to learn this concept with crisp clear explanation. So, let’s discuss it in more detail below.
Overview
First of all static class is created using the static keyword. Just as we create static data members or static methods. I hope that you know that class created inside a class is known as a nested class or inner class.
You can only create inner class static. You can not create outer class static. So, whenever we create a static class then definitely it will be an inner class. Below is the syntax of declaring a static class.
class OuterClass {
// This is the body of the outer class.
public static class InnerClass {
// This is the body of static inner class
}
}
Important points of Java Static Class
Following are the important points about Java static class you must have to keep in your mind while using it:
Advertisement
A static class is always created by using the static keyword.
A static class is always an inner class.
We can not create outer class static.
Static class does not need any reference of the outer class but in case of non-static, we need a reference of the outer class.
We can create an instance of the inner class without using the instance of the outer class.
Now the inner class can reference the data members or the methods which are defined in the outer class in which it basically nests.
The static class can only access static members. It can not access the non-static members. But in the case of non-static class, we can access both static and non-static members.
Coding Example of Java Static Class
class OuterClass {
static String name = "Paul";
static int age = 25;
static String gender = "Male";
// This is a static nested class
public static class StaticClass {
public void printName() {
System.out.println("The name is : " + name);
}
public void printAge() {
System.out.println("The age is : " + age);
}
public void printGender() {
System.out.println("The gender is : " + gender);
}
}
}
public class Example {
public static void main(String args[]) {
// Creating the object or instance of nested/Inner Static class
OuterClass.StaticClass staticObject = new OuterClass.StaticClass();
// Calling all the methods inside the inner static class
staticObject.printName();
staticObject.printAge();
staticObject.printGender();
}
}
Output:
The name is : Paul
The age is : 25
The gender is : Male
Conclusion
Now if I just conclude may today’s article then we have discussed Java static class. Java static class is always an inner class, it cannot be outer class. It is created by using the static keyword.
Java static class can only access the static members, it can not access the nonstatic members of a class. Any many other important points that we have just discussed above. I hope that you understand.
The final keyword prevents reassignment of variables and prevents overriding or extending when used on methods or classes, with initialization allowed at declaration, in a constructor, or in initializer block.
Explore how this and super keywords differentiate between instance variables and parameters, access superclass members, and invoke parent constructors in Java classes.
Examine how single inheritance in Java lets a subclass reuse the superclass's fields and methods, while constructors are invoked and private members remain inaccessible.
Explore multilevel inheritance in Java by using parent, middle, and child classes, calling super constructors, and reusing code via getters and setters and class inheritance.
Learn hierarchical inheritance in Java by extending a Person base class into Student and Teacher, accessing shared fields like name and age while adding salary, fees, and CGP.
Explores polymorphism in Java, focusing on static or compile-time polymorphism and dynamic polymorphism, including method overloading with varying parameter counts, types, and order.
explains dynamic polymorphism, a runtime polymorphism, and method overriding in Java, using an animal example to show how a subclass overrides eat and how a parent reference accesses overridden methods.
Explore abstract classes in Java, learn how abstract keywords and methods shape inheritance, implementation, and usable code by extending classes and overriding methods.
Learn how abstraction in Java hides implementation details using abstract classes and interfaces, exposing only needed functionality through inheritance and data hiding.
Learn how abstract methods declare without bodies and how abstract classes require concrete overrides, with examples of rate of interest implemented by savings and current accounts.
Explore how Java interfaces define abstract methods as a reference type, cannot be instantiated, may extend multiple interfaces, and may include static final fields, with implementations in classes using implements.
Explore using interfaces in Java to implement multiple interfaces, extending interfaces, and override methods within classes; understand inheritance and practical examples.
Compare abstract class vs interface in Java, highlighting method types, default and static interface methods, final variables, and how classes implement and extend multiple interfaces.
compare static and non-static inner classes in Java, inside an outer class, and learn how to declare access modifiers and instantiate inner classes to access their members.
Examine anonymous inner classes in Java, using a parent reference to access only parent members, and override methods to enable polymorphism with child classes.
Master arrays in java by declaring fixed-size, zero-based collections, storing data with new, and iterating with for loops. Practice sorting with Arrays.sort, binary search, and array equality checks.
Learn how to create and manipulate multi-dimensional arrays in Java, including two- and three-dimensional arrays, print matrices with nested loops, and find the greatest number in an array.
learn how wrapper classes in java convert primitive values into objects, enabling their use in the collection framework and object-based operations.
Learn autoboxing and unboxing in Java by converting between primitives and wrapper objects, with the compiler handling boxing automatically in a loop that sums even numbers.
Learn how to define and use generic methods in Java with a type parameter, enabling operations on arrays of different types (strings, numbers) without overloading, while noting wrapper types.
Explore generics in Java by building a fully generic class, instantiate it with Integer and String types, and demonstrate type-safe access through getters, setters, and console output.
Learn the basics of Java exception handling, focusing on unchecked (runtime) exceptions, the exception hierarchy, and default throw and catch behavior with examples like divide by zero.
Explore default throw and our catch in Java, mastering exception handling with try, catch, and finally. Learn to handle arithmetic and null pointer exceptions with specific catch blocks.
Learn to throw custom exceptions and manage them with default catch blocks in Java, including arithmetic error handling in a balance withdrawal scenario.
Explore try catch blocks in Java to handle arithmetic exceptions, throw and rethrow exceptions, and maintain a robust program flow.
Explore checked exceptions in Java, learn why they require handling or declaring at compile time, and practice using try-catch blocks and throws to create robust programs.
Introduction to Java IO and streams, covering input and output concepts, standard streams like system.in and system.out, and file streams such as file input stream and file output stream.
Learn to work with the Java File class, create files with its constructors, handle exceptions, and use methods to check existence, get absolute path, and write data.
Discover how the file output stream writes bytes or byte arrays to a file, using write and close, and how getChannel helps track file position.
Explore how the file input stream reads bytes from a file, using read methods to fetch data until end of file and print characters and their positions.
This lecture explains the byte array output stream class, its in-memory buffer, and how data written to the stream is copied into a byte array for output.
Learn the ByteArrayInputStream class and how an in memory buffer acts as an input stream, using read, read into array, available, and skip to process bytes.
Learn about the filter output stream class in Java, the superclass of all filter output streams, and how flush and write methods manage bytes and buffers.
Learn how the filter input stream class extends input stream to add functionality for reading bytes, marking and resetting positions, and skipping data, with a practical example.
Learn how the buffered output stream uses an internal buffer to boost performance and writes a string to a file with getBytes, write, flush, and close.
Learn how the buffered input stream in Java enhances performance by buffering reads from a file, using read, skip, and array-based reads, and closing the stream.
Learn how DataOutputStream writes primitive data types and strings to a file in java, including boolean, int, long, double, and UTF strings, with flush and read back guidance.
Explore the data input stream class and how it reads primitive Java data types from an underlying input stream in a machine-independent way, including reading bytes, numbers, and UTF strings.
Learn how ObjectInputStream and ObjectOutputStream handle serializing and deserializing Java objects by writing and reading a Person object to and from a file, with a complete end-to-end example.
********** MUST WATCH THE INTRODUCTION VIDEO BEFORE PURCHASING THIS COURSE **********
First of all, I welcome you to this course on Java programming for Complete Beginners. We will start from the beginning and move toward all advanced concepts over time. You are about to join a community of java developers. Now, this course is going to give you a lot of concepts about Java core or Java standard editions.
Now after taking this course:
You can apply for a Java programming job
You can create professional applications
Also, you can give exams and you will easily get a pass in the oracle certification
You will get all concepts from basic to advance level
and much more benefits like that..........
Why do you need to learn Java Programming?
You may be thinking that there are many other programming languages in the world like C++, Python, and much more but then why do we need Java? Well, every programming language has its own features. Java is ranked in the top 3 powerful programming languages because of its immense features and also a general-purpose language that can be used in almost every field of computer science.
Also, big companies like Google, Microsoft, Bing, and Amazon are hiring Java developers with vast vacancies. Especially if you want to work in Android, Server side programming, or Desktop application development then it is 100% necessary for you to learn all core concepts of Java.
Also if you are struggling to get a job as a Java Developer then this course is just for you. Because this course will give you all skills that you want for a java programming job.
Java is everywhere is the slogan. It is 100% right. If you look around you will find Java everywhere.
=== Super Fiendly Support ===
If you ever get stuck in any problem, I'm here to unstuck you. I always respond as fast as I can. Because I know there’s nothing worse than getting stuck into problems, especially programming problems. So, I am always here to support you.
Course Update:
If you are thinking that I will update this course or not? Then definitely, I will update this course with time and add more videos on different concepts and advanced concepts. So, calm down and take lectures. I will update this course with time.
Who can take this course?
Everyone who wants to learn Java programming can take this course. If you have never touched programming then don't worry about that you can also take this course. I started from scratch with variables and data types and end up with databases and other advanced concepts.
******* If you have any questions in your mind then contact me before purchasing this course. *******