The Java keyword used to instantiate an object is `new`. It creates an instance of a class or an array and is normally followed by a constructor call, as in `new String("hello")` or `new int[10]`.
For a class, `new` requests storage for the object and invokes the selected constructor to initialize it. The resulting reference can be assigned to a variable, passed to a method, or used directly. A constructor has the same name as its class and does not declare a return type, which distinguishes it from an ordinary method.
A frequent misunderstanding is that `new` creates the class itself. A class is a blueprint described by compiled bytecode; `new` creates an object whose runtime type is based on that class. The keyword is also unnecessary for some objects supplied by the language or runtime: string literals, for example, are created through literal syntax, while boxing conversions can produce wrapper objects automatically. `Class.class` obtains a runtime class object without instantiating the represented class.