Foro de elhacker.net

Programación => Java => Mensaje iniciado por: |Miguel| en 27 Febrero 2012, 16:24 pm



Título: Adjuntar librería y usar sus métodos sin poner la ruta.¿es posible?
Publicado por: |Miguel| en 27 Febrero 2012, 16:24 pm
Pues esa es mi pregunta.

Básicamente, si tengo un proyecto al que le adjunto una librería, ¿no hay forma de llamar a los métodos de la librería directamente por su nombre, en lugar de paquete.clase.nombre?

Me parece una forma un poco incómoda de trabajar la verdad...

Gracias, saludos!


Título: Re: Adjuntar librería y usar sus métodos sin poner la ruta.¿es posible?
Publicado por: adastra en 27 Febrero 2012, 16:40 pm
Que lenguaje de programación?


Título: Re: Adjuntar librería y usar sus métodos sin poner la ruta.¿es posible?
Publicado por: |Miguel| en 27 Febrero 2012, 16:43 pm
Que lenguaje de programación?
Perdón por no ponerlo, al estar en el subforo de Java he supuesto que se entendía que la pregunta se refería a Java, sorry.


Título: Re: Adjuntar librería y usar sus métodos sin poner la ruta.¿es posible?
Publicado por: Proteus1989 en 27 Febrero 2012, 16:44 pm
import paquete.clase.nombre;

Te refieres a eso?


Título: Re: Adjuntar librería y usar sus métodos sin poner la ruta.¿es posible?
Publicado por: |Miguel| en 27 Febrero 2012, 16:47 pm
No, me refiero a más adelante cuando vaya a usar uno de los métodos que están dentro de esa importación no me funciona poniendo simplemente el nombre del método, sino que tengo que poner paquete.clase.método cada vez que quiero usar esa función.

EDITO: es decir, tengo aquí un main, por ejemplo:
Código
  1. package proyectodeprueba;
  2.  
  3. public class ProyectoDePrueba {
  4.  
  5.    public static void main(String[] args) {
  6.        paquete.clase.metodo();
  7.    }
  8. }
  9.  

La librería...
Código
  1.  
  2. package paquete;
  3.  
  4. public class clase {
  5.    static public void metodo(){
  6.        System.out.println("Mi método.");
  7.    }
  8. }
  9.  

Pues lo que quiero es saber si en la línea del main que pone
Código
  1. paquete.clase.metodo();

Hay alguna forma de hacer q funcione solo con:
Código
  1. metodo();


Título: Re: Adjuntar librería y usar sus métodos sin poner la ruta.¿es posible?
Publicado por: adastra en 27 Febrero 2012, 16:54 pm
Perdona, tienes razón, no me habia fijado que estaba en el subforo de Java (sorry  :xD :xD)

La unica forma en la que lo puedes hacer, es que esos metodos sean estaticos, de esa forma haces Clase.metodo
Dado que se trata de una libreria externa, siempre tendras que hacer referencia al fichero (.class) y acceder a sus atributos por medio de una instancia de dicho objeto (a menos, como ya he dicho, que dichos metodos/atributos sean estaticos)
Esto te orienta un poco en tu pregunta?


Título: Re: Adjuntar librería y usar sus métodos sin poner la ruta.¿es posible?
Publicado por: |Miguel| en 27 Febrero 2012, 16:56 pm
Creo q sí, de todas formas el método ya era estático. Justo estaba editando mi mensaje anterior mientras has contestado...

Gracias ;)


Título: Re: Adjuntar librería y usar sus métodos sin poner la ruta.¿es posible?
Publicado por: Proteus1989 en 27 Febrero 2012, 16:56 pm
EDITO: Te me has adelantado. Vengo a decir lo mismo xD


Función... es decir métodos estáticos.
Algo así como java.lang.Math.random() tener que hacer solamente un random() para que funcione... pues... no se me ocurre nada.

Lo que si se es que por lo menos con la clase citada puedes hacer Math.random() y funciona perfectamente. Quizás con las clases que tu usas sea similar y solo tengas que llamar a la clase y la función o método.



Título: Re: Adjuntar librería y usar sus métodos sin poner la ruta.¿es posible?
Publicado por: |Miguel| en 27 Febrero 2012, 17:00 pm
Si quito el paquete de delante, me dice que no encuentra la clase.

Por lo que veo, parece que eso solo funciona para las clases propias de Java... es (un fastidio) una pena, pero bueno... habrá que escribir un poco más, no pasa nada jeje

Gracias a los dos  ;D


Título: Re: Adjuntar librería y usar sus métodos sin poner la ruta.¿es posible?
Publicado por: adastra en 27 Febrero 2012, 17:03 pm
La clase siempre la vas a tener que importar, como he dicho anteriormente, son ficheros .class externos... el compilador tiene que saber la forma de encontrarlos, para ello estan las instrucciones "import"