RemoteObject (Java Platform SE 8 )
Keywords: java.rmi.server.RemoteObject class
Date: 2026-04-17

compact2, compact3
java.rmi.server

## Class RemoteObject

- java.lang.Object
- - java.rmi.server.RemoteObject

- All Implemented Interfaces:
    Serializable, Remote
  Direct Known Subclasses:
    RemoteObjectInvocationHandler, RemoteServer, RemoteStub

      public abstract class RemoteObject
      extends Object
      implements Remote, Serializable

  The `RemoteObject` class implements the `java.lang.Object` behavior for remote objects. `RemoteObject` provides the remote semantics of Object by implementing methods for hashCode, equals, and toString.
  Since:
    JDK1.1
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected RemoteRef` | `ref` The object's remote reference.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `RemoteObject()` Creates a remote object.
    `protected` | `RemoteObject(RemoteRef newref)` Creates a remote object, initialized with the specified remote reference.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)` Compares two remote objects for equality.
    `RemoteRef` | `getRef()` Returns the remote reference for the remote object.
    `int` | `hashCode()` Returns a hashcode for a remote object.
    `String` | `toString()` Returns a String that represents the value of this remote object.
    `static Remote` | `toStub(Remote obj)` Returns the stub for the remote object `obj` passed as a parameter.

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### ref

          protected transient RemoteRef ref

      The object's remote reference.

  - ### Constructor Detail

    - #### RemoteObject

          protected RemoteObject()

      Creates a remote object.

    - #### RemoteObject

          protected RemoteObject(RemoteRef newref)

      Creates a remote object, initialized with the specified remote reference.
      Parameters:
        `newref` - remote reference

  - ### Method Detail

    - #### getRef

          public RemoteRef getRef()

      Returns the remote reference for the remote object.

      Note: The object returned from this method may be an instance of an implementation-specific class. The `RemoteObject` class ensures serialization portability of its instances' remote references through the behavior of its custom `writeObject` and `readObject` methods. An instance of `RemoteRef` should not be serialized outside of its `RemoteObject` wrapper instance or the result may be unportable.

      Returns:
        remote reference for the remote object
      Since:
        1.2

    - #### toStub

          public static Remote toStub(Remote obj)
                               throws NoSuchObjectException

      Returns the stub for the remote object `obj` passed as a parameter. This operation is only valid after the object has been exported.
      Parameters:
        `obj` - the remote object whose stub is needed
      Returns:
        the stub for the remote object, `obj`.
      Throws:
        `NoSuchObjectException` - if the stub for the remote object could not be found.
      Since:
        1.2

    - #### hashCode

          public int hashCode()

      Returns a hashcode for a remote object. Two remote object stubs that refer to the same remote object will have the same hash code (in order to support remote objects as keys in hash tables).
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hash code value for this object.
      See Also:
        `Hashtable`

    - #### equals

          public boolean equals(Object obj)

      Compares two remote objects for equality. Returns a boolean that indicates whether this remote object is equivalent to the specified Object. This method is used when a remote object is stored in a hashtable. If the specified Object is not itself an instance of RemoteObject, then this method delegates by returning the result of invoking the `equals` method of its parameter with this remote object as the argument.
      Overrides:
        `equals` in class `Object`
      Parameters:
        `obj` - the Object to compare with
      Returns:
        true if these Objects are equal; false otherwise.
      See Also:
        `Hashtable`

    - #### toString

          public String toString()

      Returns a String that represents the value of this remote object.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string representation of the object.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.