Implementing Static Methods In the previous laboratory exercise, we defined a class that consisted of constructors and in- stance methods. A class consisting of those methods describes an object. There are times when we need a method which is not invoked by an object. In Java, the static modifier denotes class methods and variables. These methods and variables are accessed without an object of a class. For example, the standard Java Math class consists of only static methods; abs, pow. log, exp, sin, cos and tan are all examples of static methods defined in the Math class. See the online Math API documentation and convince yourself that all its methods are static. It also contains static variables such as PI and E, constants representing and Euler's number (the inverse of the natural log). Some Mathematical Functions In this lab. you will implement four mathematical functions as iterative static methods. Definition 1. A palindromic number is a non-negative integer which stays the same when its digits are reversed. Both 159951 and 4782874 are palindromic numbers but 12345321 is not. Definition 2. The Fibonacci numbers are the numbers in the following integer sequence: 0,1,1,2,3,5,8,13,21,34,55,.... By definition, fibonacci(o)- 0, fibonacci(1) 1, and each subsequent number is the sum of the previous two. Definition 3. The greatest common denominator, denoted GCD, of two or more integerss the largest positive integer that can evenly divide the numbers. For example, the GCD of 12, 15 and 30 is 3. When computing the GCD of two integers, if exactly one of the number is O, their GCD is the non-zero number. When computing the GCD of two numbers, if both numbers are 0, their GCD is indeterminate. To compute the GCD of two integers, use the Euclidean GCD algorithm described on page 2