#.getClass() when objects are extending an abstract class?

1 messages ยท Page 1 of 1 (latest)

fossil crystalBOT
#

<@&987246399047479336> please have a look, thanks.

#

Here is an AI assisted attempt to answer your question ๐Ÿค–. Maybe it helps! In any case, a human is on the way ๐Ÿ‘. To continue talking to the AI, you can use </chatgpt:1108714622413963314>.

#

When calling .getClass() on objects that are instances of classes extending an abstract class, the behavior will be as follows:

  1. If you call .getClass() on an object that is an instance of one of the concrete classes that extend the abstract class, it will return the actual class of the object. For example, if you have a ConcreteClass1 and a ConcreteClass2 both extending AbstractClass, calling .getClass() on an instance of ConcreteClass1 will return ConcreteClass1.

  2. If you call .getClass() on an object that is an instance of the abstract class itself (i.e., you have not instantiated one of the concrete classes), it will return the actual class of the concrete subclass that was instantiated. For example, if you have instantiated an object as AbstractClass obj = new ConcreteClass1(), calling .getClass() on obj will return ConcreteClass1.

In summary, when comparing classes that extend an abstract class using .getClass(), it will always return the actual runtime class of the object being referenced.

untold bronze
#

An object is always of one class, the class used when creating the object with new

#

getClass will return that class

#

so if you compare the results from getClass on two objects with a different class, it will return the different classes

#

and they will not be equal

fossil crystalBOT
#

@ripe wharf

Your question has been closed due to inactivity.

If it was not resolved yet, feel free to just post a message below
to reopen it, or create a new thread.

Note that usually the reason for nobody calling back is that your
question may have been not well asked and hence no one felt confident
enough answering.

When you reopen the thread, try to use your time to improve the quality
of the question by elaborating, providing details, context, all relevant code
snippets, any errors you are getting, concrete examples and perhaps also some
screenshots. Share your attempt, explain the expected results and compare
them to the current results.

Also try to make the information easily accessible by sharing code
or assignment descriptions directly on Discord, not behind a link or
PDF-file; provide some guidance for long code snippets and ensure
the code is well formatted and has syntax highlighting. Kindly read through
https://stackoverflow.com/help/how-to-ask for more.

With enough info, someone knows the answer for sure ๐Ÿ‘