public, private, protected, e qual o outro?..  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
wellington7
JavaEvangelist
[Avatar]

Membro desde: 16/03/2007 14:03:02
Mensagens: 333
Offline

No eclipse, se eu não colocar um modificador de acesso ele mostra na árvore um simbolo diferente de public, private ou protected, mostra um triangulo.. alguém sabe o que quer dizer? Qual o acesso de um metodo que não especifica o acesso? Imaginei que fosse public, pois consigo acessá-lo em outras classes..

"Faça por onde que eu te ajudarei"

Idéias que você deveria conhecer:
  • Lombok
  • SSCCE
  • Rafael Nunes
    Moderador
    [Avatar]

    Membro desde: 09/10/2003 13:41:06
    Mensagens: 2890
    Localização: sao bernardo do campo
    Offline

    Default ou package. Que é o modificador quando você não tem nenhum modificador.
    Significa que você só terá acesso dentro das classes do mesmo pacote.

    ------------------------------------------------------------------
    "Think different? I'd be happy if most people would just think..."

    http://www.yaw.com.br
    http://twitter.com/rafanunes
    http://twitter.com/youandwe
    [Email]
    francislon
    JavaEvangelist
    [Avatar]

    Membro desde: 07/02/2007 09:27:21
    Mensagens: 372
    Localização: Ilhéus-BA
    Offline

    Quando você não declara o tipo de acesso da sua classe ela fica como classe do pacote(package). Ou seja, você poderá se comunicar com suas classes do mesmo pacote.

    "Mais vale a lágrima da derrota do que a vergonha de não ter lutado."

    http:/perlbrasil.blogspot.com
    [Email] [WWW] [MSN]
    fpaimlima
    Thread.start()

    Membro desde: 09/03/2005 21:30:20
    Mensagens: 43
    Offline

    public
    Estes atributos e métodos são sempre acessíveis em
    todos os métodos de todas as classes. Este é o nível
    menos rígido de encapsulamento, que equivale a não
    encapsular.

    private
    Estes atributos e métodos são acessíveis somente nos
    métodos (todos) da própria classe. Este é o nível mais
    rígido de encapsulamento.

    protected
    Estes atributos e métodos são acessíveis no pacote, nos
    métodos da própria classe e suas subclasses, o que será
    visto em Herança.

    <default>
    (sem nenhuma definição: private, protected ou public)Visível no pacote e na classe.
    lavh
    GUJ Master

    Membro desde: 30/07/2006 16:09:55
    Mensagens: 1311
    Offline

    Só pra constar,

    não existe uma palavra chave no Java pra classificar como "Default ou package". Se vc quer usar esse modificador é só não colocar nada mesmo. Se escrever "default" é pauuuuu!
    neohacker
    Virtual Machine Man
    [Avatar]

    Membro desde: 30/10/2006 15:23:14
    Mensagens: 576
    Localização: Santo André
    Offline

    Só uma observação, se não me engano o nome deste modificador é friendly-package.
    Mas não achei em nenhum lugar aqui pra ver como se escreve. Se alguém conhecer post o nome correto aqui please.


    http//www.tecnologiaims.blogspot.com

    ↑ Grab this Headline Animator

    http://www.imstechnology.blogspot.com
    [Email] [WWW]
    jairelton
    JavaChild

    Membro desde: 23/06/2006 13:36:04
    Mensagens: 108
    Offline

    http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html

    Jair Elton
    LPJava
    GUJ Hacker

    Membro desde: 18/04/2006 12:50:23
    Mensagens: 5524
    Localização: Bahia/Porto Alegre
    Offline

    o triangulo nao quer dizer erro e sim apenas atenção que o eclipse faz.. pq normalmente as variaveis devem ser declaradas como private para uma boa OO... mas seu codigo compila e roda tranquilo.. porem se fosse vermelho ele nem compilava...

    Sun Certified Java Programmer 5.0
    Blog:http://www.camilolopes.com
    Twitter:www.twitter.com/camilolope
    Linkedin: http://br.linkedin.com/in/camilolopes
    Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
    Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
    [WWW]
    Alexandre Ferreira
    Virtual Machine Man
    [Avatar]

    Membro desde: 20/09/2006 20:07:03
    Mensagens: 520
    Localização: Rio de Janeiro
    Offline

    http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html


    Este link explica tudo.

    Alexandre Ferreira
    Blog: http://alexandreferreira.com.br
    [WWW] [MSN]
    jPscoralicK
    JavaChild
    [Avatar]

    Membro desde: 05/05/2007 09:54:44
    Mensagens: 128
    Localização: Juiz de Fora, MG
    Offline

    Muito bom mesmo!

    []s

    João Paulo Scoralick
    Ciência da Computação - UFJF/MG
    http://anouterview.blogspot.com
    http://escape13.blogspot.com

    [WWW] [MSN] [ICQ]
    kaabah
    Java Ninja
    [Avatar]

    Membro desde: 23/05/2006 09:56:33
    Mensagens: 260
    Localização: Vitória-ES
    Offline

    Lembrando que a classe que herda métodos protected, nessa classe filha esses métodos tornam-se private.


    -----
    Sun Certified Java Programmer

    "O que eu espero senhores, é que depois de um razoável período de discussão, todo mundo concorde comigo". (Winston Churchill)
    Mak
    Debugger

    Membro desde: 22/10/2008 22:13:38
    Mensagens: 68
    Offline

    protected
    Estes atributos e métodos são acessíveis no pacote, nos
    métodos da própria classe e suas subclasses, o que será
    visto em Herança.

    <default>
    (sem nenhuma definição: private, protected ou public)Visível no pacote e na classe.


    Mas entre protected e <default> qual seria a diferença?? os atributos e métodos <default> não seriam visíveis nas subclasses??
    [MSN]
    Bruno Laturner
    GUJ Expert
    [Avatar]

    Membro desde: 18/02/2008 16:17:53
    Mensagens: 3002
    Offline

    Mak wrote:
    protected
    Estes atributos e métodos são acessíveis no pacote, nos
    métodos da própria classe e suas subclasses, o que será
    visto em Herança.

    <default>
    (sem nenhuma definição: private, protected ou public)Visível no pacote e na classe.


    Mas entre protected e <default> qual seria a diferença?? os atributos e métodos <default> não seriam visíveis nas subclasses??


    Não, atributos e métodos com modificadores package-private não são vistos pelas subclasses.

    Veja a documentação:
    http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html

    A resposta acima foi achada em menos de 5 minutos no google.
    The prisoner falls in love with his chains. --E.W. Dijkstra
    [WWW]
    Mak
    Debugger

    Membro desde: 22/10/2008 22:13:38
    Mensagens: 68
    Offline

    Blza ... valeu
    [MSN]
    ECO2004
    JavaEvangelist
    [Avatar]

    Membro desde: 06/11/2006 01:11:23
    Mensagens: 307
    Offline

    Bruno Laturner wrote:
    Mak wrote:
    protected
    Estes atributos e métodos são acessíveis no pacote, nos
    métodos da própria classe e suas subclasses, o que será
    visto em Herança.

    <default>
    (sem nenhuma definição: private, protected ou public)Visível no pacote e na classe.


    Mas entre protected e <default> qual seria a diferença?? os atributos e métodos <default> não seriam visíveis nas subclasses??


    Não, atributos e métodos com modificadores package-private não são vistos pelas subclasses.

    Veja a documentação:
    http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html


    Meu amigo, atributos e métodos com modificadores package e são vistos pelas subclasses sim!
    Somente tem de respeitar estarem no mesmo pacote e, logicamente, haver herança.
    Olha um exemplo:

    [Email] [MSN] [ICQ]
     
    Índice dos Fóruns » Java Básico
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team