Porque um simples codigo desses naum fuinciona?

12 respostas
MasterDevil

Sei que apartir de um metodo STATIC eu não posso chamar um metodo não STATIC mais se o metodo main é static .. como eu faria pra fazer algo parecido com o codigo abaixo ? :?:

import java.awt.*;

public class Mauro  {
    
	public static void main(String[] args) 
	{      
		System.out.println("Apricação aberta e executando ...");
		AbrirForm();
	} 

	public void AbrirForm()
	{
		Frame Form1 = new Frame(); 
		Form1.setVisible(true);
		Form1.setSize(100,100);
	}

}
Mauro.java:8: non-static method AbrirForm() cannot be referenced from a static c ontext AbrirForm(); ^

12 Respostas

fmeyer

pq vc ta chamando um metodo nao static dentro de um metodo static.

MasterDevil

Mais como eu faria entao ? Pois se o metodo que eu tiver que chamar no MAIN tiver de ser static teoricamente todos os metodos terão de ser STATIC … como resolver isso ?

afdestro

cria um objeto ^^

MasterDevil

Assim ? Deu mesma coisa :(

import java.awt.*;

public class Mauro  {


	public class Metodos
	{
		public void AbrirForm()
		{
			Frame Form1 = new Frame(); 
			Form1.setVisible(true);
			Form1.setSize(100,100);
		}
	}  	 
    
	public static void main(String[] args) 
	{      
		System.out.println("Apricação aberta e executando ...");
		Metodos metodos = new Metodos();
		metodos.AbrirFrom();
		AbrirForm();
	} 
}
Mantu
Nops. Assim:
public class Mauro  {
     
 	public static void main(String[] args) 
 	{      
 		System.out.println("Apricação aberta e executando ...");
 		Mauro app = new Mauro();
 		app.AbrirForm();
 	} 
 
 	public void AbrirForm()
 	{
 		Frame Form1 = new Frame(); 
 		Form1.setVisible(true);
 		Form1.setSize(100,100);
 	}
 
 }
afdestro
public class Maurro {
     
 	public static void main(String[] args) 
 	{      
 		System.out.println("Apricação aberta e executando ...");
 		Mauro m = new Mauro();
 		m.AbrirForm();
 	} 
 
 	public void AbrirForm()
 	{
 		JFrame Form1 = new JFrame(); 
 		Form1.setVisible(true);
 		Form1.setSize(100,100);
 	}
 
 }
MasterDevil

Valeu galera deu certinho …
brigado pessoal … abraço pra vocês :slight_smile:

chun

MasterDevil:
Valeu galera deu certinho …
brigado pessoal … abraço pra vocês :)

Te aconselho a ler um livro de orientacao a objetos urgentemente…

MasterDevil

Conceito sobre orientação a objetos eu sei…
O problema e que programo faz 5 anos em Delphi… nunca mexi com JAVA … to mexendo agora…
E no delphi eu naum precisaria criar um objeto de uma classe que e a base da Aplicação, no caso do delphi a classe é a TApplication e o Objeto Application que eu posso usar sem instanciar pois ele ja faz isso sozinho…

Abraços amigos muito obrigado…
E desculpe pela amolação :slight_smile:

chun

Delphi tem metodos estaticos ?

Mantu

MasterDevil:

E desculpe pela amolação :)

Amolação nenhuma, rapaz!

renatoes

Só complementando a resposta do pessoal do fórum, vc tb poderia chamar o método AbrirForm se ele fosse static
:wink:

[]'s

Criado 18 de dezembro de 2006
Ultima resposta 18 de dez. de 2006
Respostas 12
Participantes 6