Java – Calling Non Static Members Directly From Constructor Without Using the Object Name
Java is an Object-Oriented Programming(OOP) language. We need to create objects in order to access methods and variables inside a class. However, this is not always true. While discussing static keywords in java, we learned that static members are class level and can be accessed directly without any instance. Here we will be discussing how we can access non-static data members without using the object name for which let us compare static data members and non-static data members which are as provided in the below table as follows:
Static Data Members | Non-Static Data Members |
---|---|
They are declared using the keyword ‘static’. | Every member in java defaults to a non-static without a ‘static’ keyword preceding it. |
All objects of a class share the same copy of static data members. | Each object of the class gets its own copy of Non-Static data members. |
They can be accessed using the class name or object. | They are generally accessed through an object of the class. |
Static methods can be called without the instance or object of that class. | Non-static methods can access any static method and static variable, without creating an instance of the object. |
Example 1: Calling static data members without the instance or object of that class.
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
Example 2: Calling non-static data members.
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
Example 3: Calling non-static data members directly without using object names.
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.
Please Login to comment...