Java Terminologies – Complete List
1. Basic Terms
| Term | Description |
| Java | High-level, object-oriented programming language by Sun Microsystems (now Oracle). |
| JVM | Java Virtual Machine – executes bytecode on any platform. |
| JRE | Java Runtime Environment – contains JVM + libraries to run Java programs. |
| JDK | Java Development Kit – contains JRE + compiler + development tools. |
| Bytecode | Platform-independent compiled Java code executed by JVM. |
| Source Code | Human-readable code written in .java files. |
2. Object-Oriented Concepts
| Term | Description |
| Class | Blueprint for creating objects. |
| Object | Instance of a class. |
| Method | Defines behavior of a class. |
| Constructor | Special method to initialize objects. |
| Variable / Data Member | Stores data; can be instance, static, local, final, volatile, or transient. |
| Inheritance | Mechanism to inherit properties & methods from another class. |
| Encapsulation | Wrapping data and methods; achieved via access modifiers & getters/setters. |
| Abstraction | Hiding implementation details; achieved using abstract classes/interfaces. |
| Polymorphism | Ability to take many forms; includes compile-time (overloading) & runtime (overriding). |
3. Data Types & Variables
| Term | Description |
| Primitive Data Types | int, byte, short, long, float, double, char, boolean. |
| Reference Data Types | Objects, Arrays, Strings, Classes, Interfaces. |
| Instance Variable | Belongs to object; each object has own copy. |
| Static / Class Variable | Belongs to class; shared by all objects. |
| Local Variable | Declared inside method/block; exists temporarily. |
| Final Variable | Constant; value cannot change. |
| Transient Variable | Not serialized during object serialization. |
| Volatile Variable | Changes visible across threads. |
| var | Java 10+ local variable type inference. |
4. Modifiers
| Term | Description |
| Access Modifiers | public, protected, private, default – control visibility. |
| Non-Access Modifiers | static, final, abstract, synchronized, native, transient, volatile, strictfp. |
5. Methods
| Term | Description |
| Instance Method | Belongs to object; can access instance & static members. |
| Static Method | Belongs to class; cannot access instance members directly. |
| Abstract Method | Declared without body; must be implemented by subclass. |
| Final Method | Cannot be overridden. |
| Synchronized Method | Thread-safe method. |
| Native Method | Implemented in other language (C/C++). |
| Default Method | Interface method with body (Java 8+). |
| Private Method | Interface helper method (Java 9+). |
| Constructor | Special method to initialize objects. |
6. Class Types
| Term | Description |
| Concrete Class | Fully implemented class. |
| Abstract Class | Partial implementation; may contain abstract methods. |
| Final Class | Cannot be extended. |
| Top-level Class | Defined in package, not inside another class. |
| Nested / Inner Class | Defined inside another class (static or non-static). |
| Singleton Class | Only one instance exists. |
| Immutable Class | Object state cannot change after creation. |
| POJO | Plain Old Java Object (simple class with getters/setters). |
| Java Bean | Serializable POJO with default constructor. |
| Utility Class | Contains only static methods. |
7. Interfaces
| Term | Description |
| Interface | Contract with abstract methods; supports multiple inheritance. |
| Functional Interface | Interface with exactly one abstract method; Lambda-friendly. |
| Marker Interface | Empty interface used for metadata (Serializable). |
| Default / Static / Private Methods | Methods inside interface with implementation (Java 8/9+). |
8. Packages
| Term | Description |
| Package | Collection of related classes/interfaces. |
| Built-in Package | Provided by Java SDK (java.lang, java.util). |
| User-defined Package | Created by developer. |
| Default / Unnamed Package | Classes with no package declaration. |
9. Miscellaneous
| Term | Description |
| Object Cloning | Creating a copy of an object using clone(). |
| Serialization | Converting object to byte stream for storage/network. |
| Deserialization | Reconstructing object from byte stream. |
| Exception | Runtime error; handled using try-catch. |
| Generics | Type-safe classes or methods (List<String>). |
| Lambda Expression | Concise syntax for functional interfaces (Java 8+). |
| Stream API | Process collections using functional style (Java 8+). |
| Enum | Fixed set of constants. |
| Annotation | Metadata to provide information to compiler/runtime. |