Java es un lenguaje de Programación Orientada a Objetos (POO). Necesitamos crear objetos para acceder a métodos y variables dentro de una clase. Sin embargo, esto no siempre es cierto. Mientras discutíamos las palabras clave estáticas en Java, aprendimos que los miembros estáticos son de nivel de clase y se puede acceder a ellos directamente sin ninguna instancia. Aquí discutiremos cómo podemos acceder a los miembros de datos no estáticos sin usar el nombre del objeto, para lo cual compararemos los miembros de datos estáticos y los miembros de datos no estáticos que se proporcionan en la siguiente tabla de la siguiente manera:
Miembros de datos estáticos | Miembros de datos no estáticos |
---|---|
Se declaran utilizando la palabra clave ‘static’. | Cada miembro en Java tiene un valor predeterminado no estático sin una palabra clave ‘estática’ que lo preceda. |
Todos los objetos de una clase comparten la misma copia de miembros de datos estáticos. | Cada objeto de la clase obtiene su propia copia de miembros de datos no estáticos. |
Se puede acceder a ellos usando el nombre de la clase o el objeto. | Generalmente se accede a ellos a través de un objeto de la clase. |
Los métodos estáticos se pueden llamar sin la instancia u objeto de esa clase. | Los métodos no estáticos pueden acceder a cualquier método estático y variable estática, sin crear una instancia del objeto. |
Ejemplo 1: llamar a miembros de datos estáticos sin la instancia u objeto de esa clase.
Java
// Java program Illustrating Calling Static Data Members // Without the Instance or object of that class // Main class public class GFG { // Static variable static int a = 5; // Method 1 // Static method static void f() { // Print statement whenever static method is called System.out.println("I am static method"); } // Method 2 // Main driver method public static void main(String[] args) { // Calling static data members without the // instance or object of that class. System.out.println(GFG.a); // Calling method 1 GFG.f(); } }
5 I am static method
Ejemplo 2: llamar a miembros de datos no estáticos.
Java
// Java Program Illustrating Calling Non-static Data Members // Main class public class GFG { // Non-static variable int a = 5; // Method 1 // Non-static method void f() { // Print statement whenever non static method is // called System.out.println("I am Non-static method"); } // Method 2 // Main driver method public static void main(String[] args) { // Creating object of class inside main() GFG obj = new GFG(); System.out.println(obj.a); // Calling non static data members obj.f(); } }
5 I am Non-static method
Ejemplo 3: llamar directamente a miembros de datos no estáticos sin usar nombres de objetos.
Java
// Java program Illustrating Calling Non-static Method // Without using Object Name // Main class class GFG { // Calling non-static method // through constructor GFG() { int a = 5; System.out.println(a); display(); } // Method 1 // Non static method void display() { // Print statement whenever non-static method is // called System.out.println( "Non static method is called using constructor."); } // Method 2 // Main driver method public static void main(String[] a) { new GFG(); } }
5 Non static method is called using constructor.
Publicación traducida automáticamente
Artículo escrito por dattabikash505 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA