Your frighten() methods all return a boolean value, you just don't save it into a variable or print it out. You could print it out (altho I don't see much sense in doing it)
The print statement prints out whatever you pass in as an argument. First it "converts" it into a
String, by invoking .toString() method if you pass in an object reference. You can, and should, override the toString() method to get an output that makes more sense.
The output is:
First output is generic toString() from Object class, it's just the name of the class and it's position in memory. The second one is our own.
As for what executes first, the print statement or the method in the parenthesis ... in
Java things get executed from most inward parenthesis out:
((1+2)/3 + (Math.abs(-2) - 2)) =
(3/3 + (2 - 2)) =
(1 + 0)=
1
Hope this clarifies things