Bom…vamos lá…
primeiro que public e private são modificadores de acesso e static é uma propriedade…
O modificador static, diz que sua variável é presa a classe, ou seja a variável pertence a classe aonde ela está declarada…no caso ela NÃO é uma variável de instancia…e sim variável estática…
isso funciona da mesma maneira para metodos staticos…
classes nunca podem ser estaticas…claro…
Public é o modificador de acesso menos restrito que temos, qualquer classe dentro do pacote pode enchergar os atributos public…
Private é o modificador de acesso mais restrito que temos, somente dentro da classe aonde os atributos private são declarados é que podemos encherga-los
I
inicjava
Ok, valeu, mas vc me disse mais a respeito de variáveis. E quanto aos métodos? Por exemplo, quando eu preciso instanciar um objeto, como dito acima, ou apenas chamar a classe junto ao método desejado (exemplo disso seria o método showMessageDialog da classe JOptionPane).
Vlw
akumaldo
Se o metodo for statico ele pertence a classe, então você não precisa criar uma instancia você usa o metodo usando direto o nome ou dando um import statico
peczenyj
JOptionPane.showMessageDialog(null, ‘teste’)
Perceba que JOptionPane é o nome de uma classe e não uma instância de uma classe, certo? vc não fez um new JOptionPane … assim sendo o método showMessageDialog é publico (pois vc consegue invocar, resumidamente) e é static, pois vc acessa de forma estática, sem uma instância da classe.
I
inicjava
Blz, galera valeu mesmo, esclareu bastante.
Tem um tutorial mto bom aki tb, quem tb estiver com dúvida é só acessar:
Public é o modificador de acesso menos restrito que temos, qualquer classe dentro do pacote pode enchergar os atributos public…
Já a visibilidade public faz com que o membro seja acessível à qualquer classe de qualquer pacote, basta usar import.
Eu me enrolei uma vez com esses conceitos, e aqui no fórum mesmo o pessoal me ajudou.
LPJava
bom eu respondi um topico semelhante um dia desse mais vamos la:
public está disponivel ao mundo ou seja sao variaveis glovais vc pode chamar dentro de um metodo ou nao… iai vai.
private - está restrito apenas naquele metodo fora dali ele nao existe para os demais…
static - funciona da seguinte forma é algo q nao muda por exemplo desde qdo vc nasceu a formula de PI mudou? ou é a mesma?
a classe Math eh um exemplo vc pode importa-la em qualquer classe… que sempre sera a mesma… ela é um public static!! acho q ajudei…
um exemplo melhor de public e private eh:
“vc é um administrador de rede(public) e tem um subordinado(private), para esse subordinado vc diz q ele apenas pode monitorar o setor de vendas e fiscal da empresa ja o admistrador tem acesso a todos os setores” espero ter ajudado parceiro!!
E
elias_faical
[b]
a ideia é exatamente essa do meu brother camilo
sem comentarios
:idea: otimo exemplo
[/b]
akumaldo
é isso ae…nada a acrescentar…
knik
Tem sim:
E o que dizer de variáveis declaradas sem modificadores, dentro de um método?
diego2005
Dentro de um método o único modificardor que pode ser aplicado é o FINAL. Se uma variável for declarada com final:
finalintx=10;
significa que essa variável nunca poderá ter seu valor alterado…
Ok??
akumaldo
knik:
Tem sim:
E o que dizer de variáveis declaradas sem modificadores, dentro de um método?
Variaveis dentro de metodos são chamadas de variáveis locais, elas só existem enquanto o metodo existir na memoria…depois que ele deixa de existir elas ficam sujeitas a serem pegas pelo coletor de lixo…
por isso o unico modificador possível é o final como nosso amigo disse…que não se aplica ao acesso da variável e sim ao valor dela que é constante
rmarin
Static é o que pertence a classe e não a instância, que me diz do código abaixo:
Percebe que o valor de pi é alterado?
Não é porque é static que não muda, se você quisesse que o valor não fosse alterado deveria ser final, como o atributo PI da classe Math.
Logo o código abaixo não compila pois o valor de pi não pode ser alterado:
bom eu respondi um topico semelhante um dia desse mais vamos la:
public está disponivel ao mundo ou seja sao variaveis glovais vc pode chamar dentro de um metodo ou nao… iai vai.
private - está restrito apenas naquele metodo fora dali ele nao existe para os demais…
static - funciona da seguinte forma é algo q nao muda por exemplo desde qdo vc nasceu a formula de PI mudou? ou é a mesma?
a classe Math eh um exemplo vc pode importa-la em qualquer classe… que sempre sera a mesma… ela é um public static!! acho q ajudei…
um exemplo melhor de public e private eh:
“vc é um administrador de rede(public) e tem um subordinado(private), para esse subordinado vc diz q ele apenas pode monitorar o setor de vendas e fiscal da empresa ja o admistrador tem acesso a todos os setores” espero ter ajudado parceiro!!