[RESOLVIDO]Chamada de método substituível no construtor

5 respostas
S

Oi gente, queria saber o que significa essa mensagem…
Estou fazendo algo errado ?

package Control;

import Functions.FileManager;
import java.io.File;
import javax.swing.JOptionPane;

/**
 *
 * @author André
 */
public class StartUpVerifier {

    public int errors;
    public String error;
    private FileManager fileManager;

    public StartUpVerifier() {
        fileManager = new FileManager();
        fixAppFiles(); //        <<<----------------------- Chamada de método substituível no construtor 

    }

    public void fixAppFiles() {
        File aux;
        try {
            
            //Config File
            if ((fileManager.config.canRead() == false) || (fileManager.config.exists() == false)) {
                aux = fileManager.config;
                fileManager.eraseFile(aux);
                fileManager.createConfigFile();
            }
            
            //Login File
            if((fileManager.login.canRead() == false)|| (fileManager.login.exists() == false))
            {
                aux = fileManager.login;
                fileManager.eraseFile(aux);
                fileManager.createLoginFile();
            }
            
            //PlayersTracked File
            if((fileManager.playerTracked.canRead() == false )||(fileManager.playerTracked.exists() == false))
            {
                aux = fileManager.playerTracked;
                fileManager.eraseFile(aux);
                fileManager.createPlayersTracked();
            }
            
            
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,"Verifier Error! Code 66");
            System.out.println(e.getMessage());
        }

    }
}

5 Respostas

C

Isso apenas lhe alerta que se alguem extender sua classe, o que esta no seu construtor pode não ser invocado, se a classe filha no seu contrutor naum chamar super(); o que esta ai não é invocado creio ser algo assim mesmo, lembrando que voce pode desativar os alertas do netbeans…

S

Entendi.
Mas porque ele pede pra colocar Static, Final e essas outras coisas?

C

se voce colocar final estar tornando o metodo, classe final, ou seja ninguem podera fazer um override entaum o conteudo dela jamais sera sobrescrido o static é a mesma coisa, pois com static torna possivel invocar o metodo sem instanciar a classe a qual ele pertence…

S

Ahh, entendi.!

Valeu rapaz xD

C

Beleza boa sorte para voce …

Criado 15 de dezembro de 2012
Ultima resposta 15 de dez. de 2012
Respostas 5
Participantes 2