//create new object
Book BookList = new Book[MAX_SIZE];
//constructing 5 book object
BookList= new Book("Absolute Java","Savitch",5,true);
BookList = new Book("JAVA: How to Program","Deitel and Deitel",0,true);
BookList = new Book("Computing Concepts with JAVA 3 Essentials","Horstman",5,false);
BookList = new Book("Java Software Solution","Lewis and Loftus",5,false);
BookList = new Book("Java Program Design","Cohoon and davidson",1,true);
I thought that might be the problem. You've got a class called BookList, so the compiler is getting confused between the class and variable with the same name.
You'd avoid the problem if you followed Jeanne's suggestion and followed the standard Java naming conventions. Classes should start with a capital, and variables should start with lower case. Then the compiler won't get confused between bookList and BookList.
It's difficult to comment when I don't know what the current state of the code is. But if you've got a method:
and you've want to call it, the syntax will be something like:
Note I use Book listBook instead of Book listBook. Both are valid, but I think my version is clearer. It's a variable called listBook of type "array of Book". The other syntax suggests that the  is part of the variable name, leading to the sort of errors your code above has.