5
votes

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

1
Please add the code you are talking about. You will get an answer a lot faster.orien
You've likely got a bug in the code you're not showing us.Hovercraft Full Of Eels
code shown above.All the methods decleration with their scope is shown where the body is not critical to the issue I believe.sys_debug
"suggestions don't come up?" I guess your IDE is broken then. Nothing wrong with Java.Dmitry B.
@DmitryBeransky: you are joking of course, right?Hovercraft Full Of Eels

1 Answers

9
votes

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.