Some motivating remarks
Students in Computer Science learn object oriented techniques as a method for designing software systems. Without explicitly knowing it they learn fundamental principles of abstract mathematics.
Java as an object oriented language is widely used and accepted for many areas as Graphical User Interfaces or Networking. We will see that the underlying principles are also very well suited for implementing "mathematics".
More possibilities to deal with abstract mathematical entities in software.