Importar una clase personalizada en Java


¿Cómo puedo importar una clase que escribí en un archivo diferente? Todas mis clases están bajo el mismo paquete.

Author: Dennis, 2011-10-24

7 answers

Si todas sus clases están en el mismo paquete, no debería tener que importarlas.

Simplemente crea una instancia del objeto de la siguiente manera:

CustomObject myObject = new CustomObject();

 39
Author: Jeffrey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-19 22:08:29

Importar usando la palabra clave import:

import package.myclass;

Pero como es el paquete predeterminado y lo mismo , simplemente crea una nueva instancia como:

elf ob = new elf(); //Instance of elf class
 17
Author: Mob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-14 22:01:42

Veo la imagen, y todas sus clases están en el mismo paquete. Por lo que no tiene que importar, puede crear una nueva instancia sin la oración de importación.

 1
Author: Miguel Prz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-23 20:39:39

En el mismo paquete no es necesario importar la clase.

De lo contrario, es muy fácil. En Eclipse o NetBeans {[6] } simplemente escriba la clase que desea usar y presione Ctrl + Espacio . El IDE importará automáticamente la clase.

Información general:

Puede importar una clase con la palabra clave import después de la información del paquete:

Ejemplo:

package your_package;


import anotherpackage.anotherclass;

public class Your_Class {
    ...
    private Vector variable;
    ...
}

Puede instigar la clase con:

Anotherclass foo = new Anotherclass();
 1
Author: Kayser,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-14 22:00:47

En primer lugar, evite usar el paquete predeterminado.

En segundo lugar, no necesita importar la clase; está en el mismo paquete.

 0
Author: Dave Newton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-23 20:48:51

Si sus clases están en el mismo paquete, no necesitará importar. Para llamar a un método de clase B en clase A, debe usar classB.methodName(arg)

 0
Author: IHazABone,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-18 23:30:26

Según Oracle y Sun doc, una clase puede usar todas las clases de su propio paquete y todas las clases públicas de otros paquetes. Puede acceder a las clases públicas en otro paquete de dos maneras.

  • La primera es simplemente agregar el nombre completo del paquete delante de cada nombre de clase. Por ejemplo:

    Java.útil.Date today = new java.útil.Fecha();

  • El enfoque más simple y común es usar la instrucción import. El punto de la declaración de importación es para darle una abreviatura para referirse a las clases en el paquete. Una vez que utilice importar, ya no tendrá que dar a las clases sus nombres completos. Puede importar una clase específica o todo el paquete. Las instrucciones de importación se colocan en la parte superior de los archivos de origen (pero debajo de las instrucciones de paquete). Por ejemplo, puede importar todas las clases en java.util paquete con la instrucción Entonces usted puede utilizar sin un prefijo del paquete.

    Importar java.útil.*;

    / / Usa la clase en tu código con esto manera

    Date today = new Date ();

Como mencionaste en tu pregunta que tus clases están bajo el mismo paquete, no deberías tener ningún problema, es mejor usar el nombre de la clase.

 0
Author: MMKarami,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-26 08:35:56