Static metodos e Switch

8 respostas
java

Galera estou precisando da ajuda de vcs, seu falar BESTEIRA por favor me corrijam...

Tive uma aula há "muito tempo" de Java com OO...

E me lembro do instrutor dizendo que o método MAIN é na verdade do contrutor da classe, ou seja, o método que é acionado toda vez que a classe é instanciada, ele falou q o main é que você pode chamar outros métodos dentro da classe, em VB temos o Sub Main() que é disparado toda vez que a aplicação é executada... a dúvida é a seguinte

como chamar um método a partir do main da classe, sendo que do MAIN só é possível chamar métodos STATICOS... Ex:
public class principal {

   public static void main (String[] args) {
   inicio();
   }

   public int inicio() {
   //Códigos
   }

}

Como chamar o método início de dentro do main sem transformar o método em static... pois eu li um tutorial aqui no GUJ e me parece que não é uma boa usar variáveis e métodos staticos...

*************************************************
Outra coisa,
o SWITCH do java só é possível fazer com int ???
Tem alguma forma de fazer um Switch COM STRINGS ou Chars?

Alguém pode me dar um heeeelp..

falow

8 Respostas

Guilherme_Gomes

O método main não é o Construtor da classe!

Se voce fizer uma classe com o main dentro, voce pode instancia-la dentro do main, como no exemplo:

class Exemplo{
        Exemplo(){ //faz qq coisa
        }
         public static void main (String args []){
                  (new Exemplo).print();
         }
         public void print(){ System.out.println("OPA");}
}

Voce pode colocar qualquer codigo valido dentro do construtor que vai funcionar!

O switch aceita outros tipos tambem, como char!

diego2005

Esse instrutor ai deve saber muito de Java, rsrssrs…

O construtor da classe deve ter o mesmo nome da classe e não possuir nenhum tipo de retorno, exemplo:

public class Teste { public Teste() { // construtor da classe... } }

O método main é o ponto de entrada de um programa, é o método que a JVM procura quando seu programa é iniciado…

T+

java

Blz, estou quase pegando… então me respondam… qual a diferença na PRÁTICA do MAIN para o CONTRUTOR… os dois são acionados quando a classe é executada?

Outra coisa
Alguém pode colocar um exemplo de Switch com CHAR e com STRING naum to conseguindo fazer…

Value

diego2005

O main é chamado quando seu programa é carregado. O construtor de uma classe é chamado sempre que um objeto dessa classe é criado.

Não tem como fazer switch com String. Com char fica assim:

char c = 'd';

switch(c) {
    case 'a':	
        System.out.println("c = a");
        break;
    case 'b':	
        System.out.println("c = b");
        break;
    case 'c':	
        System.out.println("c = c");
        break;
    case 'd':	
        System.out.println("c = d");
        break;
}

T+

Guilherme_Gomes

Com String não é possivel, mas voce pode fazer com int e literais:

char c='A'; 
        switch(c){
        case 1:break;
        case 2:break;
        default:break;
        }
java

Blz… galera esperta… entendi perfeitamente!
Muito obrigado

Aldrin_Leal

Constructor de classe, pra mim, é outro bicho: O método “”:

public class Teste {
  public static final Integer ISTO_SERA_DEFINIDO_NA_CARGA_DA_CLASSE = new Integer(1);

  static {
     // E isto também
  }

Tô enganado eu? Tem culpa eu?

Aldrin_Leal

E antes que me esqueça: Existe um artifício para fazer switch em String: Utilize enums do Java 5!

Criado 20 de julho de 2007
Ultima resposta 20 de jul. de 2007
Respostas 8
Participantes 4