Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Java – Calling Non Static Members Directly From Constructor Without Using the Object Name

  • Last Updated : 24 Sep, 2021

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

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

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();
    }
}

 
 

Output



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();
    }
}

 
 

Output
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(); }
}

 
 

Output
5
Non static method is called using constructor.

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :