Abstract data types (ADTs) are a fundamental tool for programming efficiently in an object-oriented programming language. From my understanding, the difference between implementing an ADT as a Java class is not very different from implementing a function library as a set of static methods. The main difference is that we associate data with the function implementation and we hide the representation of the data from the client.
The ADT is defined in terms of its data items and associated operation, not its implementation.
Refer to Pg 64 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne [ Amazon · Pearson · InformIT ] for more information about ADT.
JAVA ADT EXAMPLE WILL BE UPLOADED LATER.
Point2D API for Algorithms, 4th Edition below:
Point2D ADT Below
Video about ADT below:
References:
http://algs4.cs.princeton.edu/home/
http://cs.smu.ca/~porter/csc/common_341_342/notes/types.html