Hola, Es muy posible que los trozos de codigo no sean de la misma clase. La primera linea es muy parecida a como se declaran en una clase abstracta o una interfaz. La tercera linea está mal escrita y creería que es:
Object args1= new Object[]{new Integer(365),"año"};
Y la clase FormatoMensaje debe estar implementada en otra parte del libro. ¿Lo has seguido desde el principio?
El uso es claro, a partir de un patrón se reemplazan valores. Para este hay una clase de java llamada Matcher.
http://docs.oracle.com/javase/7/docs...x/Matcher.html
Saludos,