APIs and Libraries · APIs y Bibliotecas
| English | Español |
|---|---|
| library/ˈlaɪbrəri/ | biblioteca |
| API/ˌeɪ piː ˈaɪ/ | API |
Standing on others' code
- You don't write everything from scratch — Java ships with huge amounts of ready-made code.
- A library 库 is a collection of pre-written classes you can use.
- Java's standard library includes
String,Math,Scanner,ArrayList, and thousands more. - Reusing tested library code is faster and safer than reinventing it.
Apoyándose en el código de otros
- No escribes todo desde cero; Java incluye una gran cantidad de código listo para usar.
- Una biblioteca (lib) es una colección de clases preescritas que puedes utilizar.
- La biblioteca estándar de Java incluye
String,Math,Scanner,ArrayListy miles más. - Reutilizar código de bibliotecas probado es más rápido y seguro que reinventarlo.
What an API tells you
- An API (Application Program Interface) 应用程序接口 is the documented list of what a class offers.
- It tells you each method's name, what parameters it takes, and what it returns.
- You program to the API — you use a method by its documented behavior, not its inner code.
- The API is a contract: "give me these inputs, I'll give you this output."
Lo que te dice una API
- Una API (Application Program Interface / Interfaz de Programación de Aplicaciones) es la lista documentada de lo que ofrece una clase.
- Te indica el nombre de cada método, qué parámetros recibe y qué retorna.
- Programas según la API: usas un método por su comportamiento documentado, no por su código interno.
- La API es un contrato: "dame estas entradas, te doy esta salida".
Importing a class
- Some classes need an
importstatement before you use them. import java.util.Scanner;makesScanneravailable.- Core classes like
StringandMathare injava.lang— imported automatically. - The import goes at the top of the file, above the class.
Importar una clase
- Algunas clases requieren una instrucción
importantes de usarlas. import java.util.Scanner;pone a disposiciónScanner.- Las clases principales como
StringyMathestán enjava.lang— se importan automáticamente. - La importación va al principio del archivo, encima de la clase.
Use it without seeing inside
- You can call
Math.sqrt(x)without knowing how it computes a square root. - This is abstraction: the API hides the implementation behind a simple interface.
- You only need the what (the documented behavior), not the how.
- Good libraries let you build fast by treating complex code as a black box.
Úsalo sin ver el interior
- Puedes llamar a
Math.sqrt(x)sin saber cómo calcula una raíz cuadrada. - Esto es abstracción: la API oculta la implementación detrás de una interfaz simple.
- Solo necesitas el qué (el comportamiento documentado), no el cómo.
- Las buenas bibliotecas permiten construir rápido tratando el código complejo como una caja negra.
Use a library, or write it yourself? · ¿Usar una librería o escribirla tú mismo?
Sort each task by whether a standard library already does it. · Ordena cada tarea según si una librería estándar ya lo hace.
You program to the API's documented behavior, not its internal code. Read what a method takes and returns — you don't need (or want) to see how it works inside. Remember most classes need an import, but java.lang classes (String, Math, System, Integer) are imported automatically, so Scanner needs import java.util.Scanner; while Math does not.
Programas según el comportamiento documentado de la API, no según su código interno. Lee qué toma y qué retorna un método: no necesitas (ni quieres) ver cómo funciona internamente. Recuerda que la mayoría de las clases necesitan un import, pero las clases de java.lang (String, Math, System, Integer) se importan automáticamente, por lo que Scanner necesita import java.util.Scanner; mientras que Math no.
Using the Math library:
- No import needed —
Mathis injava.lang. double r = Math.sqrt(16);→ris4.0, and you never see the algorithm.- The API just promised: "give me a number, I return its square root."
Usando la biblioteca Math:
- No se necesita importación —
Mathestá enjava.lang. double r = Math.sqrt(16);→rvale4.0, y nunca ves el algoritmo.- La API solo prometió: "dame un número, retorno su raíz cuadrada".
A library is reusable pre-written code; the API documents each class's methods — their names, parameters, and return values — so you program to the documented behavior. Most classes need an import (e.g. Scanner), but java.lang classes (String, Math) are imported automatically. The API is abstraction: use it without seeing inside.
Una biblioteca es código preescrito reutilizable; la API documenta los métodos de cada clase — sus nombres, parámetros y valores de retorno — para que programas según el comportamiento documentado. La mayoría de las clases necesitan un import (ej. Scanner), pero las clases de java.lang (String, Math) se importan automáticamente. La API es abstracción: úsala sin ver el interior.
An API documents a class's methods by telling you their... · Una API documenta los métodos de una clase diciéndote sus...
You program to the documented name/params/return, not the inner code. · Programas según el nombre/parámetros/retorno documentado, no el código interno.
Which class needs an import statement before use? · ¿Qué clase necesita una declaración import antes de usarse?
java.lang classes import automatically; Scanner (java.util) needs an import. · Las clases de java.lang se importan automáticamente; Scanner (java.util) necesita un import.
You must read a library method's internal code before you can use it. · Debes leer el código interno de un método de la librería antes de poder usarlo.
You use it by its documented behavior — that's abstraction. · Lo usas por su comportamiento documentado — eso es abstracción.
A collection of pre-written, reusable classes is called a ___ (one word). · Una colección de clases preescritas y reutilizables se llama ___ (una palabra).
A library bundles reusable code. · Una librería agrupa código reutilizable.
Math and String are imported automatically because they are in java.lang. · Math y String se importan automáticamente porque están en java.lang.
java.lang is imported by default in every Java program. · java.lang se importa por defecto en cada programa Java.