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 originalpublic static void addMaterial(Material a){
tipo=a;
TuClase variable = new TuClase(....);
tuClase.addMaterial1();
}
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 originalpublic class Persona {
public void unMetodo(...) {
....
}
...
}
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.