Ajuda em modificadores de Acesso

Oi gentes, bom Dia…

Pô eu sei que hoje é sabado e é feriado também…

Mas se algum de vcs puder me ajudar… Desde já agradeço…

Bom, preciso entender como funcionam os modificadores de acesso

Ex: private; public; protected; static etc…

Esses caras em que hora eu devo usá-los ?

Ex: Tenho uma classe …

Bom essa é a minha dúvida nem sei como perguntar…

Gente eu tõ desesperado com isso, Tá me tirando o sono, pois isso acredito que seja o fundamento mais importante do Java…
É preciso saber isso pra poder começar a criar classes e saber o que elas fazem dentro de uma aplicação…, onde cada modificador de acesso tem uma função e tenho certeza que não estão lá atoa…

Eu vejo varios exemplos de exercicios usando eles, já li varios capitulos do livro Java Como Programar , mas eles enrolam muito pra falar o que cada um faz…

Bom é isso, por favor se algúem tiver uma definição sobre isso… e não se importar em perder algum tempo digitando, Obrigado…

:?: :wink:

andré, não te desespere… ehehehah, cara… se tu tem o livro dos Deitel, tu aprende isso ai na moleza… não te preocupe em saber tudo num dia só, nem tem como, leia com calma os capitulos referentes a isto no livro, vai ser muito dificil escrever um post mais completo do q o livro dos Deitel…! …bem, e tb não duvido q alguem consiga… 8O , aqui no Portal tem cada um… heheha, … mas, essa é a minha dica, leia atentamente o livro, ele realmente é super extenço, mas no final tu vai ver claramente o funcionamento dos modificadores, se mesmo assim não tiver sucesso, procure o forum! :smiley:

Amigão valeu pelo post, mas meu problema é que tenho prova na terça-feira próxima e ainda nem consegui ter uma noção disso, dá pra imaginar como estou… ?

Não vou te dar anda detalhado mas creio que ajuda:
8)

public: todo mundo acessa e herda

protected: quem esta no mesmo pacote acessa (e qualquer um herda)

default: só quem esta no mesmo pacote acessa e herda

private: ninguem acessa e nem herda (só a classe acessa )

em geral é isso… tem mais alguns detalhes como o uso deles para variaveis, classes internas e métodos mas isso vc estuda ai… :lol:

boa sorte na prova… :wink:

vissshhhhhh, bem, não vai ser nenhum post milagroso q vai te salvar eu acredito, maaass… vou tentar resumir aqui!!!

modicador public:

… como o proprio nome diz, é publico, ou seja, tudo oq tiver public na frente será visivel de qualquer lugar, qualquer classe, pacote, oq for, ex:

[code]public class X {

}[/code]

… configura essa classe como publica, em qualquer outro codigo tu pode fazer o seguinte:

X objeto = new X();

blz? … em classes tu só pode usar public ou nada, ou seja, isso daria erro:

[code]private class Y {

}[/code]

ok? …

modificador protected:
o protected é o mais chatinho, tu tem q ter noção de herança pra entendê-lo, espero q tenha…! bem… vamos ao exemplo:

[code]public class Pai {

protected int numero;

}

class Filho extends Pai {

public Filho()
{
numero = 0;
}

}[/code]

a classe Pai tem uma variavel de instancia “numero”, configurada como protected, ou seja… tudo aquilo q extender a classe Pai tb terá acesso a essa variavel, como no exemplo, a classe Filho altera o valor da variavel numero, sem mesmo ter declarado tal variavel, isso pq Filho herdou “numero” de Pai…

modificador private:

o mais simples, TUDO oq tu marcar como private, só sera visivel da classe q foi declarado, se usar-mos o exemplo anterior, mudando de protected pra private, teriamos:

[code]public class Pai {

private int numero;

}

class Filho extends Pai {

public Filho()
{
numero = 0;
}

}[/code]

pergunta: esse código compilaria? … hum? note q “numero” é private na classe Pai, logo… só estará visivel pra classe Pai…!!! então, nao irá compilar, pq mesmo a classe Filho extendendo de Pai, Filho não terá acesso a variavel “numero”, pq ela é PRIVADA de Pai, esse código dará um erro… Filho não reconhece “numero”…

há muitos outros tópicos com relação aos modificadores de acesso… mas tu sabendo isso ai, estou certo q ja conseguirá uma nota boa na tua prova…! a não ser q a prova q tu queira fazer é a de certificação, heaheah, ai tem mais coisas… :smiley:

gente obrigado mais uma vez…

matheus essas dicas que vc passou ajudam e muito pois com elas já posso criar exemplos usando elas e dai ir tirando minhas conclusões.

Quando disse que os Deitel inrolam muito pra dizer o que cada modificar de acesso faz… era isso…
Tenho certeza de que vou arender agora a aprtir dessas dicas… Pois agora é só criar classes e objetos e dai sim ver o que cada um faz…
Com relação a herança sei o basico, pois estou estudando apenas a teoria por enquanto…

Bom sabe o que acontece: meu curso é de pós- graduação… em java…
Eu só programo em ASP… nada haver um com o outro.
É tudo muito rapido no curso… O cara vomita as informações…, os modulos são só enfase do que o assunto realmente é…, e as provas são voltadas para as do tipo da Certificação.
Então é a partir disso que eu estudo os assuntos, até agora só estudei teoria, mas agora chegou um ponto que preciso praticar para ver o que acontece… Mas sem essas informação que vcs me passaram seria impossivel iniciar uma modelagem de qualquer objeto…

Mas uma vez… sem palavras… valeu a todos ai do PJ…
Espero daqui a algum tempo poder colaborar com os demais que estão vindo atrás…
Obrigado…