Que tal amigos:
Tengo un problema que quisiera resolver pronto..
Tengo un Servlet que al Ejecutar Crea una instancia de una clase, la cual almacena gran parte del request entre otras cosas..
Código PHP:
package site.catalog;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import BASE.app;
public class catalog extends HttpServlet {
public static app APPLICATION;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=ISO-8859-1");
PrintWriter out = response.getWriter();
try {
APPLICATION = new app(request);
}catch(Exception ex){
out.println("ERROR:"+ex.getMessage());
}
}
La clase app recibe el request y carga una clase dinamicamente llamada "CORE"
Código PHP:
package core;
import java.io.*;
import java.net.*;
import java.util.*;
import java.util.regex.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class app {
public Object MODULE;
public String Str = "CARGADA...";
public HttpServletRequest REQUEST;
public HttpSession SESS;
public app(HttpServletRequest request) throws Exception{
REQUEST = request;
SESS = request.REQUEST.getSession(true);
}
public getModulo(){
try{
Class clase = Class.forName("site.modulo.core");
MODULE = clase.newInstance();
}catch (Exception ex){
System.out.println("Exception in: [core]"+ex.getMessage());
}
return MODULE;
}
}
Todo Bien hasta el momento, todo va de maravillas, la clase app crea la instancia de
site.modulo.core perfecto, pero yo quiero que la clase site.modulo.core sea extendida de app, para poder tener acceso a sus metodos y propiedades.
Código PHP:
package site.modulo;
import BASE.app;
public class core extends app{
public core(){}
public String getMe(){
return this.Str;
}
}
Esto me da error, incluso no lo puedo ni compilar ya que NetBeans no me lo permite.
EL problema proviene cuando intento heredar una clase con un constructor que necesita un parametro.
Según lei que los contructores no se pueden heredar en JAVA pero no he conseguido como solventar este problema. Se que algo tiene que ver la instrucción
super();, pero tampoco he conseguido entender bien su funcionamiento en la herencia de objetos.
Si me pueden ayudar seria de gran ayuda.
Gracias...