Glossary

Applet A Java program designed to run as part of an HTML page. Applets are hosted by a Web browser and can add programmability to web pages.
Byte code The binary output of the Java compiler. Byte code is an intermediate form that the JVM translates into native code at runtime. Since byte code is not machine-specific, it makes Java programs portable.
Class A unit of Java code. A class defines data (also known as fields or instance variables) and methods. Classes act as blueprints for objects.
Constructor A method in a class that participates in object construction. A constructor must have the same name as the class and have no return value. Most constructors initialize instance variables.
Encapsulation A programming technique in which parts of the program are hidden (i.e. a black box). That lets the developer change the hidden features without affecting other parts of the program. One of the three pillars of object-orientation (others are inheritance and polymorphism).
Garbage collection A technique in which the runtime environment takes care of de-allocating dynamic memory. In Java, the JVM garbage collects by periodically scanning the heap and freeing objects that are not referenced.
Inheritance A programming technique that promotes re-use in an object- oriented program. Inheritance lets subclasses inherit state and behavior from superclasses. One of the three pillars of object orientation (others are encapsulation and polymorphism).
Instatiation The act of creating an object, which are referred to as instances of a class. In Java, you use the "new" operator to instantiate objects.
Interface Interfaces define one or methods but don't provide any implementation for the methods (the methods can have no code). A class can implement one or more interfaces. Thus, interfaces define sets of behavior that can be provided by classes.
Interpreted language A programming language that is translated into machine code at runtime.
Just In Time (JIT) Compiler A feature of a JVM that converts Java byte code into native machine code all at once, thus providing better performance than a true interpreter.
JVM A Java Virtual Machine provides an environment for running a Java program. The JVM translates the byte codes from a .class file into native code for execution.
Method A unit of behavior within a class. Similar to functions, procedures or subprograms in other programming languages.
Object Orientation A programming philosophy that attempts to model real-world objects in programs. Uses encapsulation, inheritance and polymorphism.
Overloading The act of writing multiple methods in a class with the same name. The overloaded methods each must have a different method signature.
Overriding The act of writing a subclass method that has the same signature as a method in a superclass. The new method "overrides" the superclass method.
Package A organizing unit that holds Java classes and/or interfaces. Packages correspond to file-system directories with the same name.
Polymorphism A programming technique that lets a subclass override behavior provided by a superclass. See inheritance. Polymorphism is one of the three pillars of object orientation, the others being encapsulation and inheritance.
Signature (method) The name and argument types of a method.
Subclass and Superclass With inheritance, you can extend classes by writing a new class that inherits behavior and state from an existing class. The new class is referred to as the subclass while the existing class is referred to as the superclass.
Unicode A system of mapping characters to binary codes. Similar to ASCII, but uses 16 or 32-bit characters to allow for characters from most of the world's national languages.