Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java can't access class methods from class instance

I've defined Class A which has number of methods. Then I have this other class i.e. a managed beanfor JSF. Within the bean I create an instance of Class A, but then I can't invoke any of the methods in class A. All fields are public and methods scope are public too.

I considered this could be because of the bean nature (Although it shouldnt' be) so I created another class Tester.java and created the instance and that went ok. But again when I try to invoke the methods, nothing shows in suggestion list in Netbeans. What is going on? Thanks,

Edit: The code:

public class Reservation {
.... //setters & getters

  public List<DateTime> getDateRange(DateTime start, DateTime end) {
  ......//body of method
  }

   public TreeMap<DateTime, Integer> getDatesTreeMap(){
   //body of method
   }

   public boolean checkRange() {
   ... body of method
   }

   }//end of class - no errors

and then this is how class instantiated:

Reservation booking = new Reservation();
booking. ????? this is where the suggestions don't come up 

Thanks

like image 669
sys_debug Avatar asked Nov 19 '11 05:11

sys_debug


1 Answers

A guess (since you still are not showing enough code to know for sure, but...)

You are likely trying to call methods out in the class and outside of a method or constructor block. In other words, this code:

Reservation booking = new Reservation();
booking. ????? this is where the suggestions don't come up 

is likely called in the declarations section of your class, but not inside of a method block, a constructor block, or other similar construct. Only variable declarations and their related initialization code may be called here, but other statements such as calling methods on variables cannot.

The solution: call the code where it belongs, in a method or constructor block.

like image 159
Hovercraft Full Of Eels Avatar answered Nov 15 '22 11:11

Hovercraft Full Of Eels