J'ai créé la classe abstraite suivante pour planificateur d'emplois dans red5:java: ne peut pas utiliser des constructeurs dans la classe abstraite
package com.demogames.jobs;
import com.demogames.demofacebook.MysqlDb;
import org.red5.server.api.IClient;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.scheduling.IScheduledJob;
import org.red5.server.api.so.ISharedObject;
import org.apache.log4j.Logger;
import org.red5.server.api.Red5;
/**
*
* @author ufk
*/
abstract public class DemoJob implements IScheduledJob {
protected IConnection conn;
protected IClient client;
protected ISharedObject so;
protected IScope scope;
protected MysqlDb mysqldb;
protected static org.apache.log4j.Logger log = Logger
.getLogger(DemoJob.class);
protected DemoJob (ISharedObject so, MysqlDb mysqldb){
this.conn=Red5.getConnectionLocal();
this.client = conn.getClient();
this.so=so;
this.mysqldb=mysqldb;
this.scope=conn.getScope();
}
protected DemoJob(ISharedObject so) {
this.conn=Red5.getConnectionLocal();
this.client=this.conn.getClient();
this.so=so;
this.scope=conn.getScope();
}
protected DemoJob() {
this.conn=Red5.getConnectionLocal();
this.client=this.conn.getClient();
this.scope=conn.getScope();
}
}
Puis j'ai créé une classe simple qui étend le précédent:
public class StartChallengeJob extends DemoJob {
public void execute(ISchedulingService service) {
log.error("test");
}
}
Le problème est que mon application principale ne peut voir le constructeur sans aucun paramètre. avec des moyens que je peux faire new StartChallengeJob()
pourquoi l'application principale ne voit-elle pas tous les constructeurs?
merci!
L'application principale voit tous les constructeurs - constructeurs ne sont cependant pas des méthodes normales et ne sont pas propagés dans l'espace de nom de la classe enfant :) – extraneon
Votre titre répond en fait à votre propre question. – DJClayworth