Adjuntar librería y usar sus métodos sin poner la ruta.¿es posible?

Iniciado por |Miguel|, 27 Febrero 2012, 16:24 PM

0 Miembros y 1 Visitante están viendo este tema.

|Miguel|

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!

adastra


|Miguel|

Cita de: adastra en 27 Febrero 2012, 16:40 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.

Proteus1989


|Miguel|

#4
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 (java) [Seleccionar]

package proyectodeprueba;

public class ProyectoDePrueba {

    public static void main(String[] args) {
        paquete.clase.metodo();
    }
}


La librería...
Código (java) [Seleccionar]


package paquete;

public class clase {
    static public void metodo(){
        System.out.println("Mi método.");
    }
}


Pues lo que quiero es saber si en la línea del main que pone
Código (java) [Seleccionar]

paquete.clase.metodo();


Hay alguna forma de hacer q funcione solo con:
Código (java) [Seleccionar]

metodo();

adastra

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?

|Miguel|

Creo q sí, de todas formas el método ya era estático. Justo estaba editando mi mensaje anterior mientras has contestado...

Gracias ;)

Proteus1989

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.


|Miguel|

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

adastra

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"