Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Modificadores de acesso Java

Modificadores de acesso Java


Neste tutorial, aprenderemos sobre o Java Access Modifier, seus tipos e como usá-los com a ajuda de exemplos.

O que são modificadores de acesso?


Em Java, os modificadores de acesso são usados ​​para definir a acessibilidade (visibilidade) de classes, interfaces, variáveis, métodos, construtores, membros de dados e métodos setter. Por exemplo,
class Animal {
    public void method1() {...}

   private void method2() {...}
}

No exemplo acima, declaramos 2 métodos:method1() e method2(). Aqui,

Observe a palavra-chave public e private . Estes são modificadores de acesso em Java. Eles também são conhecidos como modificadores de visibilidade.

Observação :Você não pode definir o modificador de acesso dos métodos getters.

Tipos de modificador de acesso


Antes de aprender sobre os tipos de modificadores de acesso, certifique-se de conhecer os Pacotes Java.

Existem quatro palavras-chave modificadoras de acesso em Java e são elas:
Modificador Descrição
Padrão declarações são visíveis apenas dentro do pacote (pacote privado)
Privado as declarações são visíveis apenas dentro da classe
Protegido as declarações são visíveis dentro do pacote ou em todas as subclasses
Público as declarações são visíveis em todos os lugares

Modificador de acesso padrão


Se não especificarmos explicitamente nenhum modificador de acesso para classes, métodos, variáveis, etc, então, por padrão, o modificador de acesso padrão será considerado. Por exemplo,
package defaultPackage;
class Logger {
    void message(){
        System.out.println("This is a message");
    }
}

Aqui, o Logger classe tem o modificador de acesso padrão. E a classe é visível para todas as classes que pertencem ao defaultPackage pacote. No entanto, se tentarmos usar o Logger class em outra classe fora de defaultPackage, receberemos um erro de compilação.

Modificador de acesso privado


Quando variáveis ​​e métodos são declarados private , eles não podem ser acessados ​​fora da classe. Por exemplo,
class Data {
    // private variable
    private String name;
}

public class Main {
    public static void main(String[] main){

        // create an object of Data
        Data d = new Data();

        // access private variable and field from another class
        d.name = "Programiz";
    }
}

No exemplo acima, declaramos uma variável privada chamada name e um método privado chamado display() . Ao executar o programa, teremos o seguinte erro:
Main.java:18: error: name has private access in Data
        d.name = "Programiz";
         ^

O erro é gerado porque estamos tentando acessar a variável privada e o método privado do Dados classe do Principal classe.

Você pode estar se perguntando e se precisarmos acessar essas variáveis ​​privadas. Nesse caso, podemos usar o método getters e setters. Por exemplo,
class Data {
    private String name;

    // getter method
    public String getName() {
        return this.name;
    }
    // setter method
    public void setName(String name) {
        this.name= name;
    }
}
public class Main {
    public static void main(String[] main){
        Data d = new Data();

        // access the private variable using the getter and setter
        d.setName("Programiz");
        System.out.println(d.getName());
    }
}

Saída :
The name is Programiz



No exemplo acima, temos uma variável privada chamada name . Para acessar a variável da classe externa, usamos métodos:getName() e setName() . Esses métodos são chamados getter e setter em Java.

Aqui, usamos o método setter (setName() ) para atribuir valor à variável e ao método getter (getName() ) para acessar a variável.

Usamos this palavra-chave dentro do setName() para se referir à variável da classe. Para saber mais sobre essa palavra-chave, visite Java this Keyword.

Observação :Não podemos declarar classes e interfaces privadas em Java. No entanto, as classes aninhadas podem ser declaradas privadas. Para saber mais, visite Java Nested and Inner Class.

Modificador de acesso protegido


Quando métodos e membros de dados são declarados protected , podemos acessá-los dentro do mesmo pacote, bem como de subclasses. Por exemplo,
class Animal {
    // protected method
    protected void display() {
        System.out.println("I am an animal");
    }
}

class Dog extends Animal {
    public static void main(String[] args) {

        // create an object of Dog class
        Dog dog = new Dog();
         // access protected method
        dog.display();
    }
}

Saída :
I am an animal

No exemplo acima, temos um método protegido chamado display() dentro do Animal classe. O Animal classe é herdada pelo Dog classe. Para saber mais sobre herança, visite Herança Java.

Em seguida, criamos um objeto dog do Cão classe. Usando o objeto tentamos acessar o método protegido da classe pai.

Como os métodos protegidos podem ser acessados ​​a partir das classes filhas, podemos acessar o método de Animal classe do Cão classe.

Observação :Não podemos declarar classes ou interfaces protected em Java.

Modificador de acesso público


Quando métodos, variáveis, classes e assim por diante são declarados public , então podemos acessá-los de qualquer lugar. O modificador de acesso público não tem restrição de escopo. Por exemplo,
// Animal.java file
// public class
public class Animal {
    // public variable
    public int legCount;

    // public method
    public void display() {
        System.out.println("I am an animal.");
        System.out.println("I have " + legCount + " legs.");
    }
}

// Main.java
public class Main {
    public static void main( String[] args ) {
        // accessing the public class
        Animal animal = new Animal();

        // accessing the public variable
        animal.legCount = 4;
        // accessing the public method
        animal.display();
    }
}

Saída :
I am an animal.
I have 4 legs.

Aqui,

Modificadores de acesso resumidos em uma figura


Modificadores de acesso são usados ​​principalmente para encapsulamento. Posso nos ajudar a controlar qual parte de um programa pode acessar os membros de uma classe. Para que o uso indevido de dados possa ser evitado. Para saber mais sobre encapsulamento, visite Java Encapsulation.

Java

  1. Modificadores de acesso C#
  2. Operadores Java
  3. Comentários Java
  4. Java para cada loop
  5. Strings Java
  6. Interface Java
  7. Classe anônima Java
  8. Java try-with-resources
  9. Anotações Java
  10. Asserções Java