Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

too much simple question: call public method

 
abalfazl hossein
Ranch Hand
Posts: 635
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


Error:

can not find symbol

Problem is about this.displayGreeting(); and z.displayGreeting();
 
Matthew Brown
Bartender
Posts: 4568
9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Both those lines try to call the displayGreeting() method on an object of class s (by the way, don't use lower case letters for class names - especially single letters! - as it makes it harder to read). But that class doesn't gave that method.
 
abalfazl hossein
Ranch Hand
Posts: 635
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
How can I define displayGreeting(); method so it can be acessed from any where?( other than static)
 
Matthew Brown
Bartender
Posts: 4568
9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Your displayGreeting() method is accessible from anywhere. But it belongs to the Outer class. Which means you can only call it on an instance of an Outer object. You can't then just call it on any old object.

In object-oriented programming you'll often see interactions between objects described as "sending messages". One object sends a message to another object, which replies. The messages you can send to an object correspond to the methods that object has.

In this case, you're trying to send a message to an object that doesn't understand it. You can tell a dog to bark, you can't tell a daffodil to!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic