• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

cant retrieve data.

 
ken zemaitis
Ranch Hand
Posts: 42
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi everyone. I'm getting the same error while compiling a few of my progams. What is wrong with this: " System.out.println(fruits[i].info());"?




Thanks.
 
marc weber
Sheriff
Posts: 11343
Java Mac Safari
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When you put (references to) your Fruit objects into an Object array, the reference type is upcast to Object. So when you get it back out, you need to explicitly downcast it back to Fruit.
 
fred rosenberger
lowercase baba
Bartender
Pie
Posts: 12101
30
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It would help in the future if you posted the exact error message...

but, i think what the problem is is that you have an array of Objects. your reference is of type Object, not of type Fruit. so, there is no such thing as Object.info().

in other words, since fruits is declared as an Object reference, you can only call Object methods.

if you make it

Fruit[] fruits = new Fruits[0];

you'll find a brand new problem to fix!!! (how big is the array you're declaring???)
 
ken zemaitis
Ranch Hand
Posts: 42
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by fred rosenberger:
It would help in the future if you posted the exact error message...

but, i think what the problem is is that you have an array of Objects. your reference is of type Object, not of type Fruit. so, there is no such thing as Object.info().

in other words, since fruits is declared as an Object reference, you can only call Object methods.

if you make it

Fruit[] fruits = new Fruits[0];

you'll find a brand new problem to fix!!! (how big is the array you're declaring???)


Next time I will definitely post the exact error message. Thank you for taking the time to look at my problem and thank you for HELPING me figure it out. Something just clicked...
 
ken zemaitis
Ranch Hand
Posts: 42
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by marc weber:
When you put (references to) your Fruit objects into an Object array, the reference type is upcast to Object. So when you get it back out, you need to explicitly downcast it back to Fruit.


Thank you again sir. I appreciate your wisdom.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic