Bonjour
J'ai une question con: est-ce que le constructeur vide d'une super
classe est toujours appelé?
Je m'explique: j'ai une classe
public abstract Class Module {
private String status = "NULL";
public Module() {
status = "RESOLVED";
}
...
}
N'importe qui peut creer un module:
public Class TestModule extends Module {
public TestModule() {
//pas d'appel a super!!
je fais qqc
}
public TestModule(String _str) {
//pas d'appel a super!!
je fais qqc
}
}
Apres un appel new TestModule(), est-ce que ma variable status sera a
NULL ou a RESOLVED?
Apres un appel new TestModule("test"), est-ce que ma variable status
sera a NULL ou a RESOLVED?
Bonjour, Il suffit de tester, mais si le "super constructeur" n'est pas appellé explicitement, status = "NULL".
alexandre cartapanis
Bonjour, Il suffit de tester, mais si le "super constructeur" n'est pas appellé explicitement, status = "NULL". Ben j'ai testé, et status = "RESOLVED" que j'utilise new Module() ou
Module.class.newInstance().
Bonjour,
Il suffit de tester, mais si le "super constructeur" n'est pas appellé
explicitement, status = "NULL".
Ben j'ai testé, et status = "RESOLVED" que j'utilise new Module() ou
Bonjour, Il suffit de tester, mais si le "super constructeur" n'est pas appellé explicitement, status = "NULL". Ben j'ai testé, et status = "RESOLVED" que j'utilise new Module() ou
Module.class.newInstance().
Valdo Tschantre
alexandre cartapanis wrote:
Bonjour J'ai une question con: est-ce que le constructeur vide d'une super classe est toujours appelé? Je m'explique: j'ai une classe
public abstract Class Module { private String status = "NULL"; public Module() { status = "RESOLVED"; } ... }
N'importe qui peut creer un module:
public Class TestModule extends Module { public TestModule() { //pas d'appel a super!! je fais qqc } public TestModule(String _str) { //pas d'appel a super!! je fais qqc } }
Apres un appel new TestModule(), est-ce que ma variable status sera a NULL ou a RESOLVED? Apres un appel new TestModule("test"), est-ce que ma variable status sera a NULL ou a RESOLVED?
Merci d'avance
Pour construire une sous-classe, il faut contrure sa super-classe. Ce faisant, si au debut des constructeurs de ta sous-classe tu ne fais pas appel explicitement à un contructeur de ta super-classe (à l'aide de 'super(<param>)'), c'est le constructeur par defaut ('super()') qui est appelé...
Dans le cas présant, c'est le constructeur pas defaut de Module qui est appelé. Ainsi, 'statut' est à 'RESOLVED'.
alexandre cartapanis wrote:
Bonjour
J'ai une question con: est-ce que le constructeur vide d'une super
classe est toujours appelé?
Je m'explique: j'ai une classe
public abstract Class Module {
private String status = "NULL";
public Module() {
status = "RESOLVED";
}
...
}
N'importe qui peut creer un module:
public Class TestModule extends Module {
public TestModule() {
//pas d'appel a super!!
je fais qqc
}
public TestModule(String _str) {
//pas d'appel a super!!
je fais qqc
}
}
Apres un appel new TestModule(), est-ce que ma variable status sera a
NULL ou a RESOLVED?
Apres un appel new TestModule("test"), est-ce que ma variable status
sera a NULL ou a RESOLVED?
Merci d'avance
Pour construire une sous-classe, il faut contrure sa super-classe. Ce
faisant, si au debut des constructeurs de ta sous-classe tu ne fais pas
appel explicitement à un contructeur de ta super-classe (à l'aide de
'super(<param>)'), c'est le constructeur par defaut ('super()') qui est
appelé...
Dans le cas présant, c'est le constructeur pas defaut de Module qui est
appelé. Ainsi, 'statut' est à 'RESOLVED'.
Bonjour J'ai une question con: est-ce que le constructeur vide d'une super classe est toujours appelé? Je m'explique: j'ai une classe
public abstract Class Module { private String status = "NULL"; public Module() { status = "RESOLVED"; } ... }
N'importe qui peut creer un module:
public Class TestModule extends Module { public TestModule() { //pas d'appel a super!! je fais qqc } public TestModule(String _str) { //pas d'appel a super!! je fais qqc } }
Apres un appel new TestModule(), est-ce que ma variable status sera a NULL ou a RESOLVED? Apres un appel new TestModule("test"), est-ce que ma variable status sera a NULL ou a RESOLVED?
Merci d'avance
Pour construire une sous-classe, il faut contrure sa super-classe. Ce faisant, si au debut des constructeurs de ta sous-classe tu ne fais pas appel explicitement à un contructeur de ta super-classe (à l'aide de 'super(<param>)'), c'est le constructeur par defaut ('super()') qui est appelé...
Dans le cas présant, c'est le constructeur pas defaut de Module qui est appelé. Ainsi, 'statut' est à 'RESOLVED'.
Francis JUGE-BOIRARD
Bonjour, Il suffit de tester, mais si le "super constructeur" n'est pas appellé explicitement, status = "NULL".
Ben j'ai testé, et status = "RESOLVED" que j'utilise new Module() ou Module.class.newInstance(). Dont acte et en plus c'est très logique....
Bonjour,
Il suffit de tester, mais si le "super constructeur" n'est pas appellé
explicitement, status = "NULL".
Ben j'ai testé, et status = "RESOLVED" que j'utilise new Module() ou
Module.class.newInstance().
Dont acte et en plus c'est très logique....