You are here

[Tutorial] Níveis de acesso a classes em Java

Tweet me!

No tutorial de hoje abordaremos sobre os niveis de acesso e estrutura de classes em JAVA

Continuando a série de orientação a objetos em Java.

Este tutorial não irá abordar orientação a objeto de uma forma geral, e sim, como se usa a sintaxe da linguagem Java.

Modificador Public
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

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.
Ex:

 

public class Carro{

 

      public String modelo;

      public void setModelo(String modelo){

            this.modelo = modelo;

      }

}

Posso utilizar o método setModulo e alterar o atributo modelo de qualquer classe ou instância de um objeto do tipo Carro.

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

public class Carro {

 

      protected String modelo;

 

      protected void setModelo(String modelo) {

            this.modelo = modelo;

      }

}

 

class Caminhao extends Carro {

      protected void setModelo(String modelo){

            super.modelo = modelo;// não da erro

      }

}

Posso utilizar o método setModelo e alterar o atributo modelo na própria classe e em qualquer subclasse.

Modificador 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.

public class Carro {

 

      private String modelo;

 

      public void setModelo(String modelo) {

            this.modelo = modelo;

      }

     

      public String getModelo(){

            return this.modelo;

      }

}

Agora somente posso utilizar o atributo modelo dentro da própria classe.
Para poder interagir com o atributo eu devo criar os métodos set e get.
O método set irá servir para alterar o valor ou referência do atributo e o método get ira servir para retornar o valor ou referência do atributo.
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

E se nenhum modificador não for utilizado?

Então fica o modificador default. Somente as classes do mesmo pacote terão acesso à classe, aos atributos e aos métodos.

Acesse o nosso fórum e esclareça suas dúvidas http://www.forumdev.devbr.net/index.php?showtopic=49

Até a próxima pessoal.

Flávio

Comentários
Adicionar novo Busca RSS
suzy  - flavio preciso entender como faço p/ criar duas cl   |189.72.194.xxx |2008-10-12 20:48:07
achei bastante interressante e mais fácil de enteder .
Escrever um comentário
Nome:
E-mail:
 
Website:
Título:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0
:confused::cheer:
B):evil:
:silly::dry:
:lol::kiss:
:D:pinch:
:(:shock:
:X:side:
:):P
:unsure::woohoo:
:huh::whistle:
;):s
:!::?:
:idea::arrow:
 
Por favor coloque o código anti-spam que você lê na imagem.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."