
Explore building a simple Java application by defining a class, writing a main method, using print statements, compiling to class files, and running on the JVM.
Discover how Java functions as a powerful development environment for building robust commercial software, with architecture neutrality, object-oriented design, Unicode internationalization, built-in network support, and strong security.
Learn how to declare and assign variables in Java for beginners, exploring int, double, char, string, and boolean data types, and understand printing, operator precedence, and casting.
Explore how to implement decisions in Java using if and switch statements, with relational and logical operators, else and else if constructs, and nested conditions with break and default cases.
Explore Java loops by examining for, while, and do-while constructs, with counters, conditions, and increments; learn break and continue, and see examples printing hello and world.
Learn how to define and use Java methods to perform tasks, pass parameters, return values, and manage method calls, including main, static, and access modifiers.
The lecture explains how Java groups related variables into a class to model a bank customer, then creates objects with the new operator and accesses attributes via dot notation.
Explore encapsulation in Java by using private attributes with public getters and setters, safeguarding internal data and exposing a stable interface. Learn how constructors initialize object attributes at creation.
Discover how objects provide services and communicate to form an object oriented design, illustrated by a miles to kilometers conversion using dedicated methods.
Explore strings as built-in Java objects and use methods like length, equals, indexOf, toUpperCase, and toLowerCase. Learn about immutability and when to use string buffer for mutable text.
Explore arrays in Java, covering zero-based indexing, array types (numbers, booleans, characters, strings), initialization, length property, and iterating with for loops, including command line parameters via the args array.
Master object oriented concepts in Java by exploring objects, attributes, methods, encapsulation, constructors, and method overloading with different parameter signatures, plus static class variables and static methods.
Master object references in java by instantiating objects with the new operator, sharing references among variables, and understanding pass-by-value semantics for primitives and references, including this.
Explore how inheritance creates specialized classes from a generic employee base using extends. See how a single superclass, protected modifiers, and getters access inherited attributes in engineering and sales classes.
Learn how constructors initialize objects in Java by calling the superclass constructor with super. Understand why subclasses must define their own constructors and how default versus parameterized constructors affect compilation.
Learn to override superclass methods, reuse parent code with super calls, extend behavior in subclasses like sales employees, and prevent overrides with final.
Learn how inner classes in Java enable tight coupling by accessing outer class attributes, including private ones. Instantiate inner objects separately from the outer class, via constructor or externally.
Explore abstract classes in Java through an employee template that cannot be instantiated, extended by sales and development roles, and implement abstract methods like draw and calculate area in subclasses.
Learn how interfaces define unimplemented methods and the implements clause. Compare interfaces with abstract classes, noting that interfaces contain unimplemented methods while abstract classes may include implemented methods.
Explore the object class, the top of the Java hierarchy, and learn how to override toString for useful representations and use equals to compare references, with a test class example.
Master Java error handling with try and catch blocks for arithmetic and array index out of bounds exceptions, and use finally for cleanup.
Catch exception objects from specific exception classes and understand the throws clause, runtime vs checked exceptions, and how the method signature dictates mandatory handling.
Rethrow a caught exception and throw a new one using the throw statement, with proper throws clauses in the signature, and inspect details via getMessage and printStackTrace.
Create a custom exception hierarchy by subclassing Java's exception classes. Test the new exceptions in a simple program that catches and displays an error message.
Learn text and binary IO in Java using streams, with reader/writer for text, buffering for performance, and reading lines or copying files.
Copy bytes with binary file input and output streams, buffering for performance. Understand why Java treats text as Unicode and why reader and writer classes are preferred for text files.
Learn console input and output in Java with IO, using System.in and System.out, and print and println. Explore Unicode for international characters, reading a line, and casting to a character.
Wrap system in and system out byte streams with character-based IO classes like print writer and input stream reader to support Unicode in console I/O, using buffered readLine and exit.
Learn to manage object groups in Java with arrays, create a contact class, and access the array, noting fixed size limits; for unknown data, use array lists or hash maps.
Explore java array lists, a dynamic, object-based collection that grows and shrinks automatically; learn to add, insert, remove, retrieve with casting, and use size, indexOf, clear, and isEmpty.
Explore hash maps to group objects by a unique key, use put to store color objects by name, retrieve with get, and iterate with an iterator to print rgb values.
Explore how wrapper classes turn primitive types into objects, enabling their use in collections like array lists, with static methods such as parseInt and toString for conversions.
Explore how Java structures programs with classes, packages, and the default package, then run and test code via static main in each class or separate test classes.
Why look through hours of talking-head videos when you can just watch & learn through easy to follow animations? This unique course will help you master Java in just a few hours by using a new system invented by the author to teach programming. Watch code develop in front of your eyes: one line at a time. This mimics how programs are actually developed in the real world, and how programmers think through and solve a programming problem. This approach makes programming easy-to-learn and our course: fun to follow.
Fun animations, code highlights and talk-bubbles, make this new system the fastest way to learn Java and master object oriented concepts.
So enroll now. Start learning Java, and code your brains out.
This Java course covers all of the main concepts you need to know in order to start programming in Java with a strong emphasis on object oriented design. They include:
A Simple Java program
Variables
Data types
Conditions
Loops
Methods
Strings
Arrays
File I/O
Exceptions
Data structures
ArrayLists
Hashmaps
Data wrappers
Classes & objects
Programming with objects
The core Object class
Object Encapsulation
Object Inheritance
Object References
Object Constructors
Inner Classes
Abstract Classes
Interfaces
Java program structure
PDF Version
The full text version of the course is also available as a PDF file for download.
Code Listing
To give you a head start, the code listing for every program in this course is also available to download (84 ready-to-run Java programs). Just compile and run.
MONEY-BACK GUARANTEE
This Java course comes with a "no questions asked" 30-day money back guarantee. So if - for any reason - you are not happy with this course, just ask for a full refund.