¿Hay alguna forma de pasar la clase como parámetro en Java y activar algunos métodos desde esa clase?
void main()
{
callClass(that.class)
}
void callClass(???? classObject)
{
classObject.somefunction
// or
new classObject()
//something like that ?
}
Estoy usando Google Web Toolkit y no admite la reflexión.
java
class
gwt
parameters
Michael Dorner
fuente
fuente
Para llamar al método, lo llama de esta manera:
fuente
Construye tu método para aceptarlo.
Llame al método
También puede restringir el tipo de clase, por ejemplo, este es uno de los métodos de una biblioteca que hice:
Para más información, busque Reflexión y Genéricos.
fuente
Utilizar
A
Class
también es un objeto Java, por lo que puede referirse a él utilizando su tipo.Lea más sobre esto en la documentación oficial .
fuente
Este tipo de cosas no es fácil. Aquí hay un método que llama a un método estático:
Actualización: Espera, acabo de ver la etiqueta gwt en la pregunta. No puedes usar la reflexión en GWT
fuente
No estoy seguro de lo que está tratando de lograr, pero es posible que desee considerar que aprobar una clase puede no ser lo que realmente necesita hacer. En muchos casos, tratar con una clase como esta se encapsula fácilmente dentro de un patrón de fábrica de algún tipo y el uso de eso se realiza a través de una interfaz. Aquí hay uno de docenas de artículos sobre ese patrón: http://today.java.net/pub/a/today/2005/03/09/factory.html
El uso de una clase dentro de una fábrica se puede lograr de varias maneras, especialmente al tener un archivo de configuración que contiene el nombre de la clase que implementa la interfaz requerida. Entonces la fábrica puede encontrar esa clase desde dentro de la ruta de clase y construirla como un objeto de la interfaz especificada.
fuente
Como dijiste, GWT no admite la reflexión. Debe usar el enlace diferido en lugar de la reflexión, o una biblioteca de terceros como gwt-ent para el soporte de reflexión en la capa gwt.
fuente
Vea estos: http://download.oracle.com/javase/tutorial/extra/generics/methods.html
Aquí está la explicación de los métodos de plantilla.
fuente
Eche un vistazo al tutorial de reflexión y la API de reflexión de Java:
https://community.oracle.com/docs/DOC-983192 ingrese la descripción del enlace aquí
y
http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html
fuente
Clase como paramater. Ejemplo.
Tres clases:
-
-
En la clase, el método Terminal hackCar () toma la clase TestCar como parámetro.
fuente