Como usar o SUPER

2 respostas
L

Olá, sou MUITO novo em java e gostaria de saber com ousar o “super”.

public class Main extends JFrame
{
	
	public static void Janela()
	{	
		super("Adivinha");
		
		JFrame frame = new JFrame();
		
		frame.setSize(500, 500);
		frame.setBackground(Color.BLUE);
		frame.setVisible(true);
	}
	
	
	public static void main(String[] args)
	{
		Janela();
	}
}

Grato Desde Já.

2 Respostas

R

Opa, sou novo também. O que acontece é que você estava tentando acessar o construtor do super que só pode ser feito de dentro do construtor da classe filha.
Mas também é possível chamar métodos do pai com o super.

public class ManoClass extends JFrame  
{  
      
    ManoClass(){
        super("Adivinha");  
    }
    
    public void Janela()  
    {   
        this.setSize(500, 500);  
        this.setBackground(Color.BLUE);  
        this.setVisible(true);  
    }  
      
      
    public static void main(String[] args)  
    {  
        ManoClass mc = new ManoClass();
        mc.Janela();  
    }  
}
ViniGodoy

O código fica mais elegante assim:

public class Janela extends JFrame {	
    public Janela() {	
        //Não há necessidade de criar um JFrame no construtor
        super("Adivinha");			
        this.setSize(500, 500);
        this.setBackground(Color.BLUE);		
    }
	
	
    public static void main(String[] args) {
        //Não coloque setVisible no construtor.
        new Janela().setVisible(true);
    }
}
Criado 24 de outubro de 2014
Ultima resposta 25 de out. de 2014
Respostas 2
Participantes 3