Dúvida sobre Classe

9 respostas
L

Opa pessoa blz?
Começei a estudar Java ontem, mas como ja tenho algumas noções de programação não esta sendo dificil, mas fiquei com essas dúvidas:

1 - As classes quando declaradas com “void” não retornam nenhum valor,
mas minha duvida é que valor é esse? seria alguma variavél dentro da classe ou método?

2 - Como fazer para criar um aplicativo, por exemplo o famoso “Hello World!”, que pegue a mensagem de uma outra classe externa? Eu gostaria de saber como é a síntese p/ chamar classes externas.

Agradeço desde ja! :smiley:

9 Respostas

neohacker

lonstile:
Opa pessoa blz?
Começei a estudar Java ontem, mas como ja tenho algumas noções de programação não esta sendo dificil, mas fiquei com essas dúvidas:

1 - As classes quando declaradas com “void” não retornam nenhum valor,
mas minha duvida é que valor é esse? seria alguma variavél dentro da classe ou método?

2 - Como fazer para criar um aplicativo, por exemplo o famoso “Hello World!”, que pegue a mensagem de uma outra classe externa? Eu gostaria de saber como é a síntese p/ chamar classes externas.

Agradeço desde ja! :D

Classes não possuem tipo de retorno

public class HelloWorld { ... }

L
<blockquote>Classes não possuem tipo de retorno

public class HelloWorld {

…

}</blockquote>

Então o que retorna valor? Os métodos?
E o valor de retorno seria aquele “()” como por exemplo:

public static void main ( Strings args [] ) {
}

?

Adolfo_Rodrigues

Isso mesmo. Os métodos retornam "valor".
Funciona assim:

public <Tipo_que_o_método_retorna> nomeDoMetodo(TipoDeEntrada nomeDaVariavelLocal) {
}

Exemplo:

public Integer buscaContrato(String nomeEmpresa) {
   Integer objetoIntegerDeRetorno = new Integer();
   OutraClasse oc = new OutraClasse();
   //Note que estou passando o parametro de entrada, a variável local
   objetoIntegerDeRetorno = oc.buscaNumeroContratoPorNomeEmpresa(nomeEmpresa);
   //Neste ponto, o objetoIntegerDeRetorno tem o número do contrato e o seu método  atingiu o objetivo dele. Pode retornar...

   return objetoIntegerDeRetorno;
}
Melhorou?
Adolfo_Rodrigues

Só complementando:

no caso:

public static void main ( Strings args [] ) { }

O método se chama “main”, não tem retorno (void) e recebe um array do tipo String como parâmetro de entrada.

L
Adolfo Rodrigues:
Isso mesmo. Os métodos retornam "valor". Funciona assim:
public <Tipo_que_o_método_retorna> nomeDoMetodo(TipoDeEntrada nomeDaVariavelLocal) {
}

Exemplo:

public Integer buscaContrato(String nomeEmpresa) {
   Integer objetoIntegerDeRetorno = new Integer();
   OutraClasse oc = new OutraClasse();
   //Note que estou passando o parametro de entrada, a variável local
   objetoIntegerDeRetorno = oc.buscaNumeroContratoPorNomeEmpresa(nomeEmpresa);
   //Neste ponto, o objetoIntegerDeRetorno tem o número do contrato e o seu método  atingiu o objetivo dele. Pode retornar...

   return objetoIntegerDeRetorno;
}
Melhorou?

Vlw mesmo cara! Me ajudou muito! :wink:

jtsato
lonstile:
Classes não possuem tipo de retorno public class HelloWorld { ... }

Então o que retorna valor? Os métodos?
E o valor de retorno seria aquele "()" como por exemplo:

public static void main ( Strings args [] ) {
}

?

public class HelloWorld {
    
    public static void main(String args[]){
        HelloWorld helloWorld = new HelloWorld(); // Cria uma Instância da Classe (Objeto)
        helloWorld.sayHello(); // Chama o Método sayHello (void)
        System.out.println("Time: " + helloWorld.whatTimeIsIt()); // Chama o Método whatTimeIsIt (String)
    }
    
    // Método sayHello sem retorno portanto void
    public void sayHello(){
        System.out.println("Hello World!");
    }
    
    // Método whatTimeIsIt com retorno do tipo String
    public String whatTimeIsIt(){
        java.util.Date now = new java.util.Date();
        return now.toString();
    }
}
L
jtsato:
lonstile:
Classes não possuem tipo de retorno public class HelloWorld { ... }

Então o que retorna valor? Os métodos?
E o valor de retorno seria aquele "()" como por exemplo:

public static void main ( Strings args [] ) {
}

?

public class HelloWorld {
    
    public static void main(String args[]){
        HelloWorld helloWorld = new HelloWorld(); // Cria uma Instância da Classe (Objeto)
        helloWorld.sayHello(); // Chama o Método sayHello (void)
        System.out.println("Time: " + helloWorld.whatTimeIsIt()); // Chama o Método whatTimeIsIt (String)
    }
    
    // Método sayHello sem retorno portanto void
    public void sayHello(){
        System.out.println("Hello World!");
    }
    
    // Método whatTimeIsIt com retorno do tipo String
    public String whatTimeIsIt(){
        java.util.Date now = new java.util.Date();
        return now.toString();
    }
}

Vlw amigo! Agora entendi como chamar os Métodos ;)

peczenyj

classes não são declaras como void. o que vc pode fazer é modificar a visibilidade da classe. são os metodos que precisam ser declarados como de um tipo, pois estes podem retornar um objeto ou valor primitivo e o mesmo ser atribuido a uma variavel ou atributo de classe.

vc não é obrigado a atribuir o valor retornado por um método, mas se o fizer precisa respeitar as regras de casting. ou seja, isto

int i = url.toString();

não funciona.

agora se vc tem um metodo que ira fazer uma ação e não quer atribuir nenhum objeto ou valor para ninguem, pode declara-lo como void. ele continua sendo um metodo, é como um subprograma, apenas isso.

L

classes não são declaras como void. o que vc pode fazer é modificar a visibilidade da classe. são os metodos que precisam ser declarados como de um tipo, pois estes podem retornar um objeto ou valor primitivo e o mesmo ser atribuido a uma variavel ou atributo de classe.

vc não é obrigado a atribuir o valor retornado por um método, mas se o fizer precisa respeitar as regras de casting. ou seja, isto

int i = url.toString();

não funciona.

agora se vc tem um metodo que ira fazer uma ação e não quer atribuir nenhum objeto ou valor para ninguem, pode declara-lo como void. ele continua sendo um metodo, é como um subprograma, apenas isso.

vlw pela dica! :wink:

Criado 27 de abril de 2007
Ultima resposta 27 de abr. de 2007
Respostas 9
Participantes 5