Cuando escribo una clase en Java, me gusta inicializar los atributos que se establecen directamente a un valor predeterminado y los atributos que establece la persona que llama en el constructor, algo como esto:Para "anular" o no para "anular" los atributos de mi clase
public class Stack<E> {
private List<E> list;
private int size = 0;
public Stack(int initialCapacity) {
list = new ArrayList<E>(initialCapacity);
}
// remainder omitted
}
Ahora supongamos que tengo una clase de árbol:
public class Tree<E> {
private Node<E> root = null;
// no constructor needed, remainder omitted
}
he de establecer el atributo de la raíz a nulo, para marcar que se establece en nulo por defecto, u omitir la hipótesis nula ¿valor?
EDIT:
me ocurrió esa idea después de leer las fuentes de LinkedList y ArrayList, que establece claramente tanto sus atributos (tamaño de LinkedList y firstIndex/lastIndex en ArrayList) a 0.
+1 ¿Y qué tal el atributo de tamaño en el primer ejemplo? – helpermethod
@Helper Método: No le has dado a 'size' un tipo, pero asumo que es un' int'. Si es así, es la misma situación: se inicializará a '0' automáticamente. Si tiene un equipo que usa un conjunto diverso de idiomas con diferentes reglas al respecto, tal vez lo explícito sea útil, pero a nivel técnico no es necesario. –
@ T.J. Re: su equipo usa múltiples idiomas; en ese caso, el jefe debería enviar a todos los que lo necesiten a un curso de capacitación en Java. Las personas que intentan mantener programas en un idioma con el que no están familiarizadas son ... peligrosas. –