De primeira classe, não há conceito de variáveis globais em java. Existem dois tipos de variáveis no java, uma associada à classe em si e a segunda relacionada aos objetos criados nessa classe.
aluno de classe pública { public static int totalStudents = 50; // esta é uma variável estática, portanto é do primeiro tipo Nome da string; Endereço da string; // estas são variáveis locais ou podemos dizer variáveis de instância. Estes são diferentes para cada objeto criado pelo aluno. }
Java não tem variáveis globais. Talvez o questionador tenha em mente campos estáticos. Um campo estático é um membro de uma classe que surge (o armazenamento é alocado) quando a classe é carregada pela primeira vez na memória e inicializada. Existe um campo estático, independentemente de quaisquer instâncias da classe serem criadas. Criar uma instância da classe não faz com que mais memória seja alocada para esse campo; em vez disso, o campo é compartilhado por todas as instâncias dessa classe (na verdade, por todo o código no aplicativo, sujeito, é claro, a quaisquer modificadores de acesso para a classe e para o campo). O código definido fora da própria classe pode acessar o campo qualificando o nome do campo com o nome da classe (por exemplo, MyClass.myField).
Variáveis de instância (geralmente chamadas de campos de instância) são diferentes. O armazenamento é alocado para o campo sempre que uma instância da classe é criada. Um local de memória separado é alocado para o campo para cada instância da classe e o campo associado a uma instância da classe pode ser acessado apenas por meio de uma referência a essa instância (por exemplo, object.field). Dentro da classe, o código pode usar a palavra-chave this como uma referência ao objeto atual e, em muitas situações, o modificador this. pode ser omitido de uma referência de campo e será assumido por padrão.