Como chama esse recurso java

static{
  String str = "Gostaria de estudar esse recurso";
 /** Alguem poderia me ajudar. 
 * 
 **/

}

Esse recurso é chamado de bloco estático e bloco de inicialização.

Edit: O exemplo do @wldomiciano é perfeito

2 curtidas

Se este bloco estiver declarado diretamente dentro do corpo de uma classe, então ele é um static initializer. É um bloco de código que é executado quando a classe é inicializada (ou seja, antes mesmo de qualquer instancia ser criada).

Veja mais: https://docs.oracle.com/javase/specs/jls/se10/html/jls-8.html#jls-8.7

Se vc tirar o static deixando apenas o bloco, então ele se torna um instance initializer, um bloco que é executado sempre que uma nova instancia da classe é criada. É executado antes mesmo do constructor.

Considere o código abaixo:

class Main {
  Main() {
    System.out.println("constructor");
  }
  
  {
    System.out.println("instance initializer");
  }
  
  static {
    System.out.println("static initializer");
  }
  
  public static void main(String[] args) {
    new Main();
  }
}

A saida será:

static initializer
instance initializer
constructor
6 curtidas

Muito obrigado!