Usar métodos privados para classes diferentes

7 respostas
adriano_kahn

Oi pessoal… bom dia…
Estou com o seguinte problema:

Tenho a classe Adicionais que possui o método acrescenta como mostrado abaixo:

public class Adicionais
{
   public static int n = 0;
   
   public int acrescenta()
   {
   	  n++;
   	  return n;
   }
}

Só que quero usar o método acrescenta em mais de uma classe, como a classe Filmes, Cliente, Empréstimo, Reserva e etc que estão em meu exemplo, só que como está publica, ela acaba incrementando +1 para qualquer classe que a chame. Tentei sem sucesso usar o método set e colocar o método acrescenta() privado, que creio que deva ser a solução, más na hora da implementação posso ter errado na sintaxe ou algo parecido. O que eu faço para resolver esse problema?

Bom final de semana a todos e ótimos estudos

7 Respostas

evertonsilvagomesjav

adriano kahn:
Oi pessoal… bom dia…
Estou com o seguinte problema:

Tenho a classe Adicionais que possui o método acrescenta como mostrado abaixo:

public class Adicionais
{
   public static int n = 0;
   
   public int acrescenta()
   {
   	  n++;
   	  return n;
   }
}

Só que quero usar o método acrescenta em mais de uma classe, como a classe Filmes, Cliente, Empréstimo, Reserva e etc que estão em meu exemplo, só que como está publica, ela acaba incrementando +1 para qualquer classe que a chame. Tentei sem sucesso usar o método set e colocar o método acrescenta() privado, que creio que deva ser a solução, más na hora da implementação posso ter errado na sintaxe ou algo parecido. O que eu faço para resolver esse problema?

Bom final de semana a todos e ótimos estudos

Não use á variavel “n” static

Tiago.Argolo

Ou, torne o método estático e chame-o de onde quiser =]

evertonsilvagomesjav

assim continuaria, o problema q ele esta tendo, de incrementar sempre á variavel “n” nas outras Classes.

Tiago.Argolo
Sendo assim, creio que entendi errado o problema. Ele quer utilizar estes método em outras classes e não quer que o n seja estaticamente incrementado?   :shock:
evertonsilvagomesjav

Sim ele esta falando q esta incrementando sempre um quando qualquer class chama o método ou seja, pq o “n” esta estatico :smiley:

Tiago.Argolo

Understood.

c354r

Sua classe…

public class Adicionais {
	 private int n = 0;  
	     
	   public int getAcrescenta()  
	   {  
	      n++;  
	      return n;  
	   }  
	}

Ex: Outras classes…

import javax.swing.*;
// Outra classe...
public class Adicionais1 
{
Adicionais testando = new Adicionais();

//uma variável pra usar no método e testá-la no main...
private int num = 4;
public void getTreee()
{
JOptionPane.showMessageDialog(null, num * testando.getAcrescenta());
// blá blá blá....
}
}

Agora a classe para executar com o método main…

import javax.swing.*;


//Classe com o método main...

public class TestAdicionais {
	public static void main(String[] args) {

		Adicionais test = new Adicionais();
		Adicionais1 test1 = new Adicionais1();

		JOptionPane.showMessageDialog(null, test.getAcrescenta());
		test1.getTreee();
	}

}


Se não é isso que queria, não entendi a pergunta… ;l
Mas espero ter ajudado…

Criado 21 de maio de 2010
Ultima resposta 21 de mai. de 2010
Respostas 7
Participantes 4