Estava lendo o Head First Java e dizia que métodos estáticos não se criam objetos e sim se referenciam pela classe como a classe Math da API. Math.random()....
Mas eu estava testando um código e criei um objeto e através do objeto chamei um método estático.E compilo normalmente apenas deu um warning do eclipse dizendo que poderia ter sido acessado de um jeito estático....
Código:public class SharpenYourPencil {
int x = 12;
public static void go(final int x){
System.out.println(x);
}
public static void main(String[] args) {
SharpenYourPencil pencil = new SharpenYourPencil();
pencil.go(32);
}
}
Mas se um método sem argumento ele não compila, já que o método estático não referencia ao campo não estático....
public class SharpenYourPencil {
int x = 12;
public static void go(){
System.out.println(x);
}
public static void main(String[] args) {
SharpenYourPencil pencil = new SharpenYourPencil();
pencil.go();
}
}
Não é recomendado criar objetos para acessar método estáticos? Por que?