Forums Register Login

referrence variable casting

+Pie Number of slices to send: Send
what is reference variable casting ,waht can we do with that what is the use of that
+Pie Number of slices to send: Send
Hi, welcome to the ranch!

Here's an answer that shows a questionable design on an API I use. A base class Entry is extended by File and Folder. I can ask for the entries in a folder that are files or folders or both.


Now I can call all the methods defined by Entry on the objects in this array. But what if I want to deal with Files and call some methods that only exist on File?

The getEntries method tells the compiler it returns Entry objects, so this fails:

Casting tells the compiler something it can't figure out by looking at the code. In the following I'm saying I know this object is really a File even though getEntries does not guarantee it in a way the compiler can understand.

What happens if I mess up and use the FOLDER parameter and then try to cast to File? When I try to cast a Folder to File I'll get an exception.

Finally, note that casting doesn't change the actual object at all. It only gives me a new reference to the object with a different type. With my new reference I can use methods that are defined on the subtype.

Did that help? Can you think of a couple examples you can code up and test? It would be a great experience to cause a cast exception on your own!
[ March 22, 2006: Message edited by: Stan James ]
And then the entire population worshiped me like unto a god. Well, me and this tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 884 times.
Similar Threads
core java
Reference variable casting
casting
Assigning a value larger than the variable
How to get the intended URL from a request
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 10:52:31.