As per the the JAVA ,java is an open source thats why it provides the API's so that vendors can write their own implementation/concrete classes for that API . so as the java it obeys open source so I ' just thinking why do they not provide API for jdk why they provide concrete classes as part of JDK ?
The term Java is heavily overloaded when talking about Java as a development platform.
The core Java platform is defined through the Java Community Process (JCP), which creates many Java Specification Requests (JSRs) covering different aspects of Java functionality (this includes Java ME, Java SE and Java EE as well as several other, ancillary, things). Each version of Java has its own JSR; in the case of JDK 9, this is JSR 379.
Each JSR provides three things:
To answer your question, the Java SE JSR provides a definition of the APIs, OpenJDK provides an open source implementation of those APIs and several companies then create binary distributions of those APIs.