É a interface, normalmente documentada q uma biblioteca ou framework disponibiliza para o programador possa utiliza-la. Por exemplo, a API de Java da Sun, é a biblioteca de classes q a Sun disponibiliza para o programador java, mas ele n tem como adivinhar os métodos e classes nem para quê servem, para isso existe a API toda documentada, só mostrando as interfaces, nada de implementação. É por ai.
Quanto a netBeans e so clicar com o botão direito no projeto ir em propiedades e adicionar a bibliotecas ou jar que vc deseja como um jar de conexão da com o banco.Eu acho que o netbeans trabalha com frameworks
para desenvolivimento agil como as ferramentas para confecção de interface
Ele usou o termo para dizer não como uma Interface do java, e sim como um meio de comunicação entre componentes de software(sentido original de interface).Claro que numa api tem classes concretas, abstratas e tal.
Interface é um conceito inerente à OO, e existe independente do conceito de interface de java, apesar de obviamente as duas serem bem proximas. Toda classe tem uma interface, mesmo q ela n implemente interface alguma. A interface de uma classe são as assinaturas dos seus métodos públicos, é basicamente isso. Em um outro post eu expliquei bem detalhado essa questão. Segue o link, lá vc vai entender bem o conceito de interface de OO e a diferença de interface de java.
[quote=andredeividi]Cara a grosso modo api são os jar que vc adiciona no seu projeto.
exemplo api do Mysql vc adiciona ela no seu projeto apartir dai vc tem acesso as classe que estão nesse pacote.
[/quote]
O exemplo está correto mas a definição não. Os JARs podem contêr componentes, somente APIs ou bibliotecas. No caso do MySQL ele possui a implementação em Java da API para se comunicar ao SGDB, que é um componente.
Pessoal, me ajudem a entender melhor. Desculpe o excesso de precisão conceitual, mas considero isto importante. Vamos lá:
Componente pode ser uma simples classe, uma String , por exemplo, correto?
API é a Interface exposta por um componente, conjunto de métodos públicos que permitem o acesso a classe String, por exemplo?
1 - É correto dizer “A API da String é composta por charAt(), concat(), indexOf…”
2 - Se o ítem 1 é verdade, posso afirmar que os construtores também fazem parte da API da String?
3 - equals() faz parte da API da String? está correto conceitualmente, mesmo sendo do Object?
4 - “O JDBC é a api que provê acesso universal a dados em java.” O JDBC é um componente?
Sei conceitos mais avançados, porém ainda tenho dúvidas nesses. Mas sei que é preguiça minha mesmo. Quando comecei a trabalhar na área não lia muito, não ia atrás. Então obter resposta aqui (que poderia obter facilmente pesquisando um pouco) vai contra meus princípios. É claro que sempre tem o caso de embora a resposta existir, eu não pesquisar pelos termos (ou língua) corretos.
Só um adendo. Fiquei maravilhado com o conceito dado na apostila da caelum para interface (a da linguagem). Ela é chamada de contrato. Perfeito, acho até que deveria ser usado assim mesmo, em vez de interface, uma vez que, como já foi dito, toda classe tem sua interface. Eu sei, uma Interface é apenas, atenção, interface. Mas de qualquer forma confude nesses casos.