Cada vez que escribimos nuestras clases, debemos proporcionar cierta información sobre nuestras clases a la JVM, como si se puede acceder a esta clase desde cualquier lugar o no, si la creación de clases secundarias es posible o no, si la creación de objetos es posible o no, etc. podemos especifique esta información utilizando una palabra clave adecuada en java denominada modificadores de acceso. Por lo tanto, los modificadores de acceso se utilizan para establecer la accesibilidad de clases, métodos y otros miembros.
Modificadores de acceso privado:
Este modificador no se aplica a clases o interfaces de nivel superior. Solo es aplicable a constructores, métodos y campos dentro de las clases. Si una variable, un método o un constructor se declaran privados, solo podemos acceder a ellos desde dentro de la clase, es decir, desde fuera de la clase no podemos acceder a ellos.
Java
// Java Program to illustrate Private Access Modifier // import required packages import java.io.*; import java.util.*; // helper class class A { // helper method private void m1() { System.out.println("GFG"); } } // driver class class B { // main method public static void main(String[] args) { // creating an object of type class A A a = new A(); // accessing the method m1() a.m1(); } }
Modificador de acceso final:
Es un modificador aplicable a clases, métodos y variables. Si declaramos un método de clase principal como final, no podemos anular ese método en la clase secundaria porque su implementación es final y si una clase se declara como final, no podemos extender la funcionalidad de esa clase, es decir, no podemos crear una clase secundaria para esa clase, es decir, la herencia no es posible para las clases finales. Cada método presente dentro de la clase final es siempre final y predeterminado, pero no es necesario que cada variable presente dentro de la clase final sea final. La principal ventaja de la palabra clave final es que podemos lograr seguridad y podemos proporcionar una implementación única. Pero la principal desventaja de la palabra clave final es que nos faltan beneficios clave de los OOP como la herencia (debido a la clase final),
Java
// Java program to illustrate Final keyword // import required packages import java.io.*; import java.util.*; // Declaring parent class P class P { // Declaring a first name // method public void firstName() { // Display firstname System.out.println("Rahul "); } /// Declaring a final surName // method public final void surName() { // Display surname System.out.println("Trivedi"); } } // Creating a child class // of above parent class class C extends P { // overriding the surName // method public void surName() { // Display surname System.out.println("Sharma"); } // Main method public static void main(String[] args) { // Display message System.out.println("GFG"); } }
Modificador de acceso privado | Modificador de acceso final |
---|---|
Este modificador no se aplica a las clases de nivel superior. | Este modificador es aplicable a las clases de nivel superior. |
No podemos acceder a métodos privados fuera de la clase. | Podemos acceder al método final fuera de la clase. |
Podemos ocultar el método privado. | El método final no se puede ocultar. |
Este modificador es aplicable tanto a la enumeración como al constructor. | El modificador final no se aplica tanto a la enumeración como al constructor. |
Este modificador no es aplicable para variables locales. | El modificador final es el único modificador que se aplica a las variables locales. |
Publicación traducida automáticamente
Artículo escrito por mroshanmishra0072 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA