Una clase tendrá atributos y métodos. Los atributos definirán el estado del objeto y los métodos las acciones. El formato de declaración de los atributos se puede marcar individualmente como public, private o protected (lo explicaremos más adelante). El formato de declaración de los métodos es el de una función. Existen unos métodos llamados constructores, que es un método que se ejecuta automáticamente siempre que se declara un objeto de una clase, bien cuando se crea el objeto directamente o cuando se crea dinámicamente, mediante el operador new. Toda clase puede poseer uno o más constructores. El nombre de un constructor es exactamente el nombre de la clase, y carece de tipo proporcionado (ni siquiera void). Para aplicar estos conceptos, crearemos un programa en el que crearemos una clase "Gato" que tendrá unos atributos, dos métodos constructores y otro método "maullar". Este programa tendrá dos clases, una que será la principal, llamada "EjemploClase", que creará a los gatos y otra que se llamará "Gato", que contendrá las propiedades de un gato:
/*Código de EjemploClase*/
public class EjemploClase { public static void main(String[] args) { Gato guantes = new Gato(); Gato felix = new Gato(4,"Felix"); guantes.maullar(); felix.maullar(); } }/*Código de Gato*/
public class Gato { public int edad; public String nombre; Gato(){ edad = 0; nombre = "Desconocido"; } Gato(int _edad, String _nombre){ edad = _edad; nombre = _nombre; } void maullar(){ System.out.println("Miauu me llamo "+nombre+" y tengo "+edad+" años. Miauu"); } }Las clases siempre se definen con la primera letra en mayúscula, y los atributos y métodos con la primera letra en minúscula. En este ejemplo creamos dos constructores, como podemos ver ambos tienen el nombre "Gato", aunque tienen distinto número de argumentos (polimorfismo). En el primer constructor, no le pasamos ningún argumento, de modo que al primer gato le damos los valores por defecto. El segundo constructor recibirá las propiedades por argumento y modificará los atributos. Finalmente el método "maullar" mostrará la información del gato. Para crear un nuevo objeto de una clase, simplemente lo craremos mediante el operador new. Para que un objeto llame a un método bastará con escribir dicho objeto seguido de un punto y el nombre del método.