OE-3.1 Java Fundamentals, Classes & Objects
You can write and run simple Java programs using primitives, arrays, operators and control statements, and define classes with constructors, overloading and static or final members.
The four OOP ideas - abstraction, encapsulation, inheritance, polymorphism - are stated here and then demonstrated for the rest of the course, so do not rush past them as vocabulary. Java's bytecode and JVM story explains the write-once-run-anywhere claim and is a standard interview opener. The reliable early trap is constructor overloading versus method overloading plus the this keyword; write the code rather than reading about it.
Work through these
OOP concepts: data abstraction, encapsulation, inheritance, polymorphism
The four ideas the language is organised around, before any syntax. Everything else in this course is one of these four made concrete, so it is worth being able to state each in a sentence.
Procedural versus object-oriented programming paradigms
Why the language looks the way it does, set against the style you probably learned first. The comparison is more useful than either description alone.
NPTEL: Programming in Java · CourseJava bytecode, the JVM and the Java buzzwords
What happens between your source file and the machine, and why the same file runs on different machines. It explains both the portability and the startup cost.
NPTEL: Programming in Java · CourseSimple Java programs; primitive types; arrays
The mechanical starting point: get something to compile and run, then the types and the one composite structure everything else builds on.
NPTEL: Programming in Java · CourseBasic operators and control statements
The parts shared with every language you already know. Move quickly, and note where the behaviour differs from what you expect rather than reading it all.
Declaring objects and methods; constructors and the this keyword
Where objects actually come from, and the special method that makes them. The keyword that refers to the current object is small and confuses people for weeks, so settle it here.
Method overloading and constructor overloading
Two methods with the same name and different arguments, which the compiler resolves. It is the first form of polymorphism you meet and the one done at compile time.
Objects as parameters; returning objects
Passing and returning whole objects, which raises the question of what gets copied. The answer is the reference, not the object, and that catches everyone once.
Use of the static and final keywords
Two keywords that change the lifetime and the mutability of what they mark. Static in particular behaves differently from what the name suggests to a C programmer.
Sign in to keep your progress.
Free resources
We haven't checked most of these for screen reader use yet.
Links last checked 30 Aug 2026.
Stuck here?
Ask a mentor. A real person answers, and they can see exactly which topic you're on. Usually within a couple of working days.
Checking your session…
Topics shown in module order.