core Estimated learning time: 10 h

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 · Course
  • Java 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 · Course
  • Simple 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 · Course
  • Basic 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

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.