É errado instanciar métodos estáticos só pra encurtar a linha?

ex:

System.out= sout;

só pra fazer sout.println("") ao invés de digitar System.out.println(); ou substituir tbm que não é estaticos, mas da pra fzr tbm: public void ler (String L){ L= ler.next(); } ai sempre que eu usar Scanner eu uso simplesmente ler("oque eu quero digitar");Tipo fazer isso com todos os comandos longos, pode dar um pouco de trabalho, mas fazer isso pra uma aplicação longa onde va repetir as mesma linha muitas vezes pode ser util. É certo?

O método out da classe System já é estático nativamente justamente para não precisar instanciar um objeto da classe System. Por isso, você não precisa fazer:

System system = new System();
system.out; 

[Fonte: Oracle Docs: Java - System class].

Eu nunca precisei fazer coisa desse tipo, pois geralmente uso IDE que, via de regra tem tacla de atalho para a saída padrão. No entanto, quando se usa um editor de texto sem esse recurso é porque justamente se quer fazer tudo na ‘unha’, inclusive digitar System.out.println(" ");.
De qualquer forma, não vejo como errado, de acordo com o pouco conhecimento que tenho.

Dá para encurtar assim:

static PrintStream sout = System.out;
sout.println("");

vdd ksksk Pode ajudar com esse post aqui?
Erro NullPointerException . Eu dei minha opinião sobre o erro, mas n estou seguro, acho melhor alguém mais experiente falar.

Lembrando que se tu declara uma variável como estática, ela se torna uma variável de classe em vez de uma variável de instância.

Dá para usar import static também.

1 curtida

Se o único objetivo é encurtar a linha, eu considero uma pratica ruim.

Contudo, se quiser mesmo fazer isso, não precisa nem se dar o trabalho de criar uma variavel intermediária. Vc pode usar o import static, assim:

import static java.lang.System.out;

class Main {
  public static void main(String... args) {
    out.println("Hello world!");
  }
}
4 curtidas