> For the complete documentation index, see [llms.txt](https://educacion.gitbook.io/programacion/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://educacion.gitbook.io/programacion/ud3-introducion-a-programacion-orientada-a-obxectos/paquetes.md).

# Paquetes

En Java é importante controlar a accesibilidade dunhas clases dende outras por motivos de seguridade e eficiencia. Isto conséguese mediante os **paquetes**, **contedores que permiten gardar clases en compartimentos separados**, de xeito que poidamos decidir mediante importación que clases son visibles dende unha clase que esteamos programando.

Os paquetes organízanse de xeito xerárquico, do mesmo modo que as carpetas. E pode haber paquetes que conteñan outros paquetes. Un arquivo fonte de Java é un arquivo con extensión `.java` que se garda nun paquete e que contén os seguintes elementos:

* Sentencia que especifica o paquete ao que pertence. Comeza ca palabra clave `package`<i class="fa-copy">:copy:</i> seguida do nome do paquete.
* Unha serie opcional de sentenzas de importación. Estas comezan coa palabra `import`<i class="fa-copy">:copy:</i>. Permite importar clases definidas noutros paquetes.
* A definición dunha clase que terá o mesmo nome que o ficheiro.

<figure><img src="/files/Bw92RQ8hDY9vHsayo2et" alt=""><figcaption></figcaption></figure>

No exemplo que se presenta na imaxe:

* A Clase1 pode chamar a Clase2 sen realizar imports e viceversa
* A Clase3 ten que importar a Clase1 e a Clase2 para poder empregalas no seu código e viceversa

```java
import Paquete1.Clase1;

public class Clase3 {

    public static void main(String[] args) {
        Clase1 c1 = new Clase1();
    }
}

```

```java
import Paquete2.Clase3;

public class Clase2 {

    public static void main(String[] args) {
        Clase1 c1 = new Clase1();
        Clase3 c3 = new Clase3();
    }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://educacion.gitbook.io/programacion/ud3-introducion-a-programacion-orientada-a-obxectos/paquetes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
