Java é uma linguagem de Programação Orientada a Objetos (OOP). Precisamos criar objetos para acessar métodos e variáveis ​​dentro de uma classe. No entanto, isso nem sempre é verdade. Ao discutir palavras-chave estáticas em java, aprendemos que membros estáticos são de nível de classe e podem ser acessados ​​diretamente sem qualquer instância. Aqui estaremos discutindo como podemos acessar membros de dados não estáticos sem usar o nome do objeto para o qual vamos comparar membros de dados estáticos e membros de dados não estáticos que são fornecidos na tabela abaixo como segue:

Membros de dados estáticosMembros de dados não estáticos
Eles são declarados usando a palavra-chave 'estático'.Cada membro em java é padronizado como não estático sem uma palavra-chave 'estática' precedendo-o.
Todos os objetos de uma classe compartilham a mesma cópia de membros de dados estáticos.Cada objeto da classe obtém sua própria cópia de membros de dados não estáticos.
Eles podem ser acessados ​​usando o nome da classe ou objeto.Geralmente são acessados ​​por meio de um objeto da classe.
Os métodos estáticos podem ser chamados sem a instância ou objeto dessa classe. Os métodos não estáticos podem acessar qualquer método estático e variável estática, sem criar uma instância do objeto.

Exemplo 1: Chamando membros de dados estáticos sem a instância ou objeto dessa classe. 

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

 
 

Saída
5
Eu sou um método estático

Exemplo 2: Chamando membros de dados não estáticos.

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

 
 

Saída
5
Eu sou um método não estático

Exemplo 3: Chamando membros de dados não estáticos diretamente sem usar nomes de objeto.

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

 
 

Saída
5
O método não estático é chamado usando o construtor.