Chamar funçao em outra classe

4 respostas
L

Bom dia,

Tenho uma classe assim:

class Teste1 {

	public static void main(String args[]){
		int soma = soma(1,2);
		System.out.print("Soma:" + soma);

	}

	public static int soma(int x, int y){
        	return x+y;
   	}
}

Não tem nenhuma outra linha além destas… e gostaria de saber como posso fazer para dividi-la em duas classes a Teste2 contendo a funçao soma para que a mesma possa ser chamada por outras classes… e não ter que escrever essa função várias vezes…

Obrigado.

Miguel

4 Respostas

R
public class Teste1 {
  public static void main(String args[]) {
    int soma = Teste2.soma(1, 2);
    System.out.print("Soma:" + soma);
  }
}

public class Teste2 {
  public static int soma(int x, int y) {
    return x + y;
  }
}

Não se esqueça de colocar cada classe em seu próprio arquivo, OK?

rdgms

Cara… da uma olhada na seção de artigos aqui no guj…

mas você vai ter que criar uma classe e instanciar para chamar o metodo… ou pode deixar o metodo estatico…

de uma estudada no basico…

L

roger_rf:

Não se esqueça de colocar cada classe em seu próprio arquivo, OK?

Roger, Muito obrigado pela resposta… funcionou …

Agora so queria incrementar mais um pouco o codigo. gostaria que essas classes fizessem parte de um pacote…
Fiz assim:
Arquivo Teste1.java

package com.teste;

import com.teste.*;

 public  class Teste1 {  
   public static void main(String args[]) {  
     int soma = Teste2.soma(1, 2);  
     System.out.print("Soma:" + soma);  

     String msg = Teste3.ved("A","B");
     System.out.print(" msg:" + msg);  
   }  
 }

Arquivo Teste2.java

package com.teste;

 public  class Teste3 {  
   public static int soma(int x, int y) {  
     return x + y;  
   }  
 }

Arquivo Teste3.java

package com.teste;

public class Teste3{

    public static String ved(String certificadoPath, String certificadoSenha){
   
	String teste = "123456";

		return teste;
	}


}

So que quando tento compilar a Teste1.java depois de ter compilado as demais apresenta erro:

Teste1.java:7: cannot find symbol

symbol  : variable Teste2

location: class com.teste.Teste2

int soma = Teste2.soma(1, 2);

^

Teste1.java:10: cannot find symbol

symbol  : variable Teste3

location: class com.teste.Teste2

String msg = Teste3.ved(123,456);

^

2 errors,

O que estou fazendo de errado?

Desde já obrigado.

e Desculpe o incômodo!

Miguel

R

Sugiro apagar os arquivos *.class e recompilar tudo. Acho que no arquivo Teste2.java o nome da classe está errado, precisa ser substituído. Por fim, sugiro que você dê uma boa estudada nos conceitos básicos do Java, não é uma boa ficar resolvendo tudo com métodos estáticos. Boa sorte!

Criado 19 de julho de 2010
Ultima resposta 19 de jul. de 2010
Respostas 4
Participantes 3