APIs and Libraries · APIs e Bibliotecas
| English | Português |
|---|---|
| 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.
Baseado no código dos outros
- Você não escreve tudo do zero — Java vem com muita quantidade de código pronto.
- Uma biblioteca 库 é um conjunto de classes pré-escritas que você pode usar.
- A biblioteca padrão do Java inclui
String,Math,Scanner,ArrayListe milhares de outras. - Reutilizar código de biblioteca testado é mais rápido e seguro do que reinventá-lo.
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."
O que uma API diz a você
- Uma API (Application Program Interface) 应用程序接口 é a lista documentada do que uma classe oferece.
- Ela diz o nome de cada método, quais parâmetros ele aceita e o que ele retorna.
- Você programa para a API — você usa um método pelo seu comportamento documentado, não pelo seu código interno.
- A API é um contrato: "me dê estas entradas, eu te darei esta saída."
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.
Importando uma classe
- Algumas classes precisam de uma instrução de
importantes de usá-las. import java.util.Scanner;tornaScannerdisponível.- Classes core como
StringeMathestão emjava.lang— importadas automaticamente. - A importação vai no topo do arquivo, acima da classe.
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.
Usar sem ver o interior
- Você pode chamar
Math.sqrt(x)sem saber como ele calcula uma raiz quadrada. - Isso é abstração: a API esconde a implementação atrás de uma interface simples.
- Você só precisa do o quê (o comportamento documentado), não do como.
- Boas bibliotecas permitem que você construa rápido tratando código complexo como uma caixa preta.
Use a library, or write it yourself? · Usar uma biblioteca, ou escrever a si mesmo?
Sort each task by whether a standard library already does it. · Classifique cada tarefa por se uma biblioteca padrão já a faz.
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.
Você programa para o comportamento documentado da API, não para seu código interno. Leia o que um método recebe e retorna — você não precisa (nem quer) ver como funciona internamente. Lembre-se que a maioria das classes precisa de um import, mas classes java.lang (String, Math, System, Integer) são importadas automaticamente, então Scanner precisa de import java.util.Scanner; enquanto Math não precisa.
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 a biblioteca Math:
- Nenhuma importação necessária —
Mathestá emjava.lang. double r = Math.sqrt(16);→ré4.0, e você nunca vê o algoritmo.- A API apenas prometeu: "me dê um número, eu retorno sua raiz quadrada."
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.
Uma biblioteca é código reutilizável pré-escrito; a API documenta os métodos de cada classe — seus nomes, parâmetros e valores de retorno — para que você programa para o comportamento documentado. A maioria das classes precisa de um import (ex. Scanner), mas classes java.lang (String, Math) são importadas automaticamente. A API é abstração: use-a sem ver o interior.
An API documents a class's methods by telling you their... · Uma API documenta os métodos de uma classe dizendo seus...
You program to the documented name/params/return, not the inner code. · Você programa pelo nome/parâmetros/retorno documentados, não pelo código interno.
Which class needs an import statement before use? · Qual classe precisa de uma instrução import antes de usar?
java.lang classes import automatically; Scanner (java.util) needs an import. · Classes java.lang são importadas automaticamente; Scanner (java.util) precisa de um import.
You must read a library method's internal code before you can use it. · Você deve ler o código interno de um método de biblioteca antes de poder usá-lo.
You use it by its documented behavior — that's abstraction. · Você o usa por seu comportamento documentado — isso é abstração.
A collection of pre-written, reusable classes is called a ___ (one word). · Uma coleção de classes pré-escritas e reutilizáveis é chamada de ___ (uma palavra).
A library bundles reusable code. · Uma biblioteca agrupa código reutilizável.
Math and String are imported automatically because they are in java.lang. · Math e String são importados automaticamente porque estão em java.lang.
java.lang is imported by default in every Java program. · java.lang é importado por padrão em todo programa Java.