Contents | Prev | Next | Index

new

Operation
Create new object

new
indexbyte1
indexbyte2

Forms
new = 187 (0xbb)

Stack
... ..., objectref

Description
The unsigned indexbyte1 and indexbyte2 are used to construct an index into the constant pool of the current class (§3.6), where the value of the index is (indexbyte1 << 8) | indexbyte2. The item at that index in the constant pool must be a CONSTANT_Class (§4.4.1). The symbolic reference is resolved (§5.1) and must result in a class type (it must not result in an array or interface type). Memory for a new instance of that class is allocated from the garbage-collected heap, and the instance variables of the new object are initialized to their default initial values (§2.5.1). The objectref, a reference to the instance, is pushed onto the operand stack.

Linking Exceptions
During resolution of the CONSTANT_Class constant pool item, any of the exceptions documented in §5.1 can be thrown.

Otherwise, if the CONSTANT_Class constant pool item re-solves to an interface or is an abstract class, new throws an InstantiationError.


Contents | Prev | Next | Index

Java Virtual Machine Specification (HTML generated by dkramer on February 25, 1997)
Copyright © 1996 Sun Microsystems, Inc. All rights reserved
Please send any comments or corrections to doug.kramer@sun.com