I am still fairly new to java, so please bear with me.
I am having trouble understanding why it is that I can only access certain methods / functions that belong to an instance of an object from certain classes / places/. Once I create an instance of an object and then press the dot "." operator it does not bring up all the methods that I want to use for it, (I want to see all the methods that the objects class inherits and implements.)
For example:
    // In a junit test class, I make an instance of the class DailyLog which takes 2 
    // integers   
    private DailyLog log; // which seems fine for now, but when I add on the next
    // line:                         
    log = new DailyLog (5,500); // It gives me an error on the semicolon on the line 
    // above  saying "-  Syntax error on token ";", , expected"
I do not understand why it will not let me create an instance of DailyLog and set it's paramaters...?
Question 2: If I just leave the first line of code in, then set the parameters of log within a method in the same class, it lets me set it's parameters, but when I press the "." operator, It does not show me the size function, which is the function I want to use. - I thought it would inherit size from a superclass, so why does it not let me use it?
Question 3: I have a method within the dailyLog class called variance, and another called numInsertions, I need to use the numInsertions method within the variance method, but when I write below, the only way I can get to the numInsertions method is through another method, and this will not work as i need to access the numInsertions method to directly to assign it's value to b, not through another method as this will change it's value.
      public Integer variance() throws SimulationException{
          Integer a = log.    
I think it might have to do with scope, when I have another class which creates an instance of dailyLog, and when I press the ". operator on it, it gives some methods to use from the daulyLog class and it's superclass, but not all of them. I find this quite confusing, and help would be appreciated, thanks.
UPDATE**
Maybe putting more code here will help to illustrate my problem:
public class dailyLog implements Log{
private Integer userLogSize1;
private Integer maxEnt;
private ArrayList<Integer> log = new ArrayList<Integer>();
public dailyLog (Integer userLogSize, Integer maxEntry) throws SimulationException{
    if ((userLogSize<= 0 || maxEntry <= 0)){
        throw new SimulationException("message goes here");}
        this.log = new ArrayList<Integer>(userLogSize);
        for (Integer i = 0; i <= userLogSize; i++){
            log.add(null);}
        userLogSize1= userLogSize;
        maxEnt = maxEntry;
    }
public Integer numInsertions(){
       Integer total = 0;
    for (Integer i = 0; i < log.size(); i++){           
         if (log.get(i) != null){
            total++;}}
    return total;}
//  *** below I want to write log.numentries but i cannot, why it this? I can only write
// log.get(numentries()) but that gives the wrong answer.
public Integer variance() throws SimulationException{
    if (log.size() == 0){
        throw new SimulationException ("Put message here");}
    Integer a = log.get(0);
    Integer b;
    Integer d = log.get(1);
    if (d == null){
        b = log.get(numInsertions()-1);}        
    else {b = log.get(numInsertions()-2);}
    Integer c = log.get(userLogSize1-1);
    if ( c == null){
        return a - b;}
        return a-c;}
}
 
     
     
     
    