quarta-feira, 2 de setembro de 2009

Método main,Classe,Objetos

Sumario: Explicar para que server o método main, Diferença entre Classe e Objeto.


Nosso primeiro programa em java.


Oque um programa em java precisa para virar processo?
Todo programa precisa de um método que ira no fim da Stack da thread do processo(É assim que a JVM sabe que método que sera executado). No nosso caso o método main(). Só temos 2 métodos que fazem isso, o main() e mais um outro que falaremos muitos mais a frente.

Classes Test:
Toda classe com método main é taxada de teste tanto que é meio que padrão dar nome de classes com Test para indicar que tem main.


Só é valido para programas que rodem da LINHA DE COMANDO.

Como posso declarar o método main?

public static void main(String [] argv){

Bloco_de_Codigo

}

*** Tanto faz:
public static
static public

*** Tanto faz:
String [] argv
String argv []


public - obrigatorio
static - obrigatorio
void - obrigatorio
main - obrigatorio
String [] argv ou String argv [] - da na mesma
argv - é o indetificador, pode-se mudar esse nome


Objetos:

//aqui eu não tenho objetos
public class MyClass{


public static void main(String[] args){


}
}

Isso é um programa que pode virar processo(por causa do método main), acabamos de fazer isso:


Desenhando e vivendo:


clique na imagem para ampliar




E Acabamos de Obter isso tambem:
Local variables esta dentro de main, e Heap faz parte da Arquitetura



clique na imagem para ampliar

Oque é instanciar um Objeto?
É criar um Objeto. Um objeto se cria a partir da especificação logo, cria-se um objeto a partir da CLASSE.

//Aqui eu tenho um objeto
public class MyClass{


public static void main(String[] args){
new MyClass(); //cria a instancia(o objeto)

}
}


Desenhando e vivendo:
Aconteceu isso agora:



clique na imagem para ampliar

O processo eu não coloquei porque ele ficou igual a antes.



Ainda existe a pergunta de qual a diferença de Objeto e classe?
Claro que você viu a diferença de ter um objeto e uma classe né? no segunto exemplo eu Instancio a Classe, Então eu CRIEI um OBJETO!

Compilação:
Todo Source File gera um Class File. Toda classe que você compilar e tiver referências a outras classes , essas outras também serão compiladas.
Exemplo: uma classe com o main() que se referencia a outra.
Compilo a com o main() compila também a outra.



É hora da revisão:

- Agora ja sabemos que um programa para virar processo precisa do método main
- A diferença entre classe e objeto ja foi demonstrada
- Toda classe com o método main, normalmente é taxada de uma Classe Teste
- A sintax do método main pode ser mudada em muito poucas coisas.
- Método main so é valido para Programas que vão virar processo VIA LINHA DE COMANDO
- Toda vez que for compilar Source Files que contenham Referências a outros Source Files, Só compile a Classe Teste(a que contem o main), se todas as referências estiverem nela, todos os outros Source Files também são compilados

Dica Importante:
- Quando você tem uma classe que contem o método main, e tem referências a outras classes, você só precisa compilar a que tem o main(), as outras serão automaticamente compiladas

Maneiras certas de se Especificar:
Classe -> Especificação
Objeto -> Instancia de uma Classe
Atributos -> Estados dos objetos, que se encontram nos campos dos atributos
Métodos -> Operações realizadas pelos objeos




CYA DUDES!!!

Nenhum comentário:

Postar um comentário