What means the 5, 4, 3, 2, 1 in the comments?
Should I print them when param==5?
How could I call super.someAction() since Action is an interface?
package com.codegym.task.task24.task2405;
/*
Black box
*/
public class Solution implements Action {
public static int actionObjectCount;
private int param;
private Action solutionAction = new Action() {
//!!!!! You can make changes here
public void someAction() {
if (Solution.this.param > 0) {
new FirstClass().someAction();
} else {
new SecondClass().someAction();
System.out.println(Solution.this.param);
}
//!!!!! All changes must be made only here
}
};
public Solution(int param) {
this.param = param;
}
@Override
public void someAction() {
solutionAction.someAction();
}
/**
* 5
* 4
* 3
* 2
* 1
* FirstClass class, someAction method
* SecondClass class, someAction method
* Specific action for anonymous SecondClass, param = 0
* The number of created Action objects is 2
* SecondClass class, someAction method
* Specific action for anonymous SecondClass, param = -1
* The number of created Action objects is 3
*/
public static void main(String[] args) {
Solution solution = new Solution(5);
solution.someAction();
System.out.println("The number of created Action objects is " + actionObjectCount);
solution = new Solution(-1);
solution.someAction();
System.out.println("The number of created Action objects is " + actionObjectCount);
}
}