< prev index next >

src/java.base/share/classes/java/lang/Object.java

Print this page

 10  *
 11  * This code is distributed in the hope that it will be useful, but WITHOUT
 12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 14  * version 2 for more details (a copy is included in the LICENSE file that
 15  * accompanied this code).
 16  *
 17  * You should have received a copy of the GNU General Public License version
 18  * 2 along with this work; if not, write to the Free Software Foundation,
 19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 20  *
 21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 22  * or visit www.oracle.com if you need additional information or have any
 23  * questions.
 24  */
 25 
 26 package java.lang;
 27 
 28 import jdk.internal.misc.Blocker;
 29 import jdk.internal.vm.annotation.IntrinsicCandidate;



 30 
 31 /**
 32  * Class {@code Object} is the root of the class hierarchy.
 33  * Every class has {@code Object} as a superclass. All objects,
 34  * including arrays, implement the methods of this class.







 35  *
 36  * @see     java.lang.Class
 37  * @since   1.0
 38  */
 39 public class Object {
 40 
 41     /**
 42      * Constructs a new object.
 43      */
 44     @IntrinsicCandidate
 45     public Object() {}
 46 
 47     /**
 48      * Returns the runtime class of this {@code Object}. The returned
 49      * {@code Class} object is the object that is locked by {@code
 50      * static synchronized} methods of the represented class.
 51      *
 52      * <p><b>The actual result type is {@code Class<? extends |X|>}
 53      * where {@code |X|} is the erasure of the static type of the
 54      * expression on which {@code getClass} is called.</b> For

 10  *
 11  * This code is distributed in the hope that it will be useful, but WITHOUT
 12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 14  * version 2 for more details (a copy is included in the LICENSE file that
 15  * accompanied this code).
 16  *
 17  * You should have received a copy of the GNU General Public License version
 18  * 2 along with this work; if not, write to the Free Software Foundation,
 19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 20  *
 21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 22  * or visit www.oracle.com if you need additional information or have any
 23  * questions.
 24  */
 25 
 26 package java.lang;
 27 
 28 import jdk.internal.misc.Blocker;
 29 import jdk.internal.vm.annotation.IntrinsicCandidate;
 30 import jdk.internal.access.SharedSecrets;
 31 
 32 import java.util.Objects;
 33 
 34 /**
 35  * Class {@code Object} is the root of the class hierarchy.
 36  * Every class has {@code Object} as a superclass. All objects,
 37  * including arrays, implement the methods of this class.
 38  * <p>
 39  * Subclasses of {@code java.lang.Object} can be either {@linkplain Class#isIdentity()
 40  * identity classes} or {@linkplain Class#isValue value classes}.
 41  * The class {@code Object} itself is neither an identity class nor a value class.
 42  * See {@jls The Java Language Specification  8.1.1.5 identity and value Classes}.
 43  * An instance can be created with {@code new Object()}, those instances are
 44  * {@link Objects#isIdentityObject(Object) an identity object}.
 45  *
 46  * @see     java.lang.Class
 47  * @since   1.0
 48  */
 49 public class Object {
 50 
 51     /**
 52      * Constructs a new object.
 53      */
 54     @IntrinsicCandidate
 55     public Object() {}
 56 
 57     /**
 58      * Returns the runtime class of this {@code Object}. The returned
 59      * {@code Class} object is the object that is locked by {@code
 60      * static synchronized} methods of the represented class.
 61      *
 62      * <p><b>The actual result type is {@code Class<? extends |X|>}
 63      * where {@code |X|} is the erasure of the static type of the
 64      * expression on which {@code getClass} is called.</b> For
< prev index next >