Answer:
I. The class methods and instance methods of one class may call the public class methods of another class using dot notation and referencing the name of the other class.
Explanation:
Private methods are being accessed from only within the class or scope specified. No other means of accessibility is possible, and even through inheritance. And instance methods can never call without using dot notation, any of the class method of the same class. Hence second and third options are not correct. And the class method and the instance methods of one class may call the public class methods of another class using the dot notation and referencing the name of the other class. Hence, the correct option is the first one.
Answer:
public class Calculator {
private int total;
private int value;
public Calculator(int startingValue){
// no need to create a new total variable here, we need to set to the our instance total variable
total = startingValue;
value = 0;
}
public int add(int value){
//same here, no need to create a new total variable. We need to add the value to the instance total variable
total = total + value;
return total;
}
/**
* Adds the instance variable value to the total
*/
public int add(){
// no need to create a new total variable. We need to add the value to the instance total variable
total += value;
return total;
}
public int multiple(int value){
// no need to create a new total variable. We need to multiply the instance total variable by value.
total *= value;
return total;
}
//We need to specify which value refers to which variable. Otherwise, there will be confusion. Since you declare the parameter as value, you need to put this keyword before the instance variable so that it will be distinguishable by the compiler.
public void setValue(int value){
this.value = value;
}
public int getValue(){
return value;
}
}
Explanation:
I fixed the errors. You may see them as comments in the code