Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/10/2015, 11:10
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Llamar a un metodo public static void desde un public vod

Hola:

cuando un método no es static, necesitas tener una instancia de la clase para poder llamarlo (un new). Puedes hacer esto

Código Java:
Ver original
  1. public static void addMaterial(Material a){
  2.  
  3. tipo=a;
  4. TuClase variable = new TuClase(....);
  5. tuClase.addMaterial1();
  6. }

Ojo, no tienes que hacer un new cada vez que quieras usar el método. Normalmente una clase suele tener una serie de atributos (o variables de clase como quieras llamarlos) que tienen un valor y son los que dan sentido a que se instancie esa clase. Por ejemplo

Código Java:
Ver original
  1. public class Persona {
  2.     private String nombre;
  3.     public void unMetodo(...) {
  4.          ....
  5.     }
  6.     ...
  7. }

tiene sentido hacer un new de Persona para "Pedro", otro para "Juan", etc. No se hace un new Persona() para poder llamar a unMetodo(). Se hace el new Persona porque existe "Felipse" y luego llamas al metodo de "Pedro", de "Juan" o de "Felipe", según te interese.

Si tu clase no tiene atributo ninguno (nombre en el caso de Persona), puedes hacer todos los métodos static y ahorrarte los new.

Se bueno.
__________________
Apuntes Java
Wiki de Programación