|
1. Liarse con lo que es estático y lo que no es.
|
Resumiendo: Los atributos y metodos por defecto son NO estáticos. Si
tu indicas que algo es static eso quiere decir que dicho atributo o método es accesible a nivel de clase, no a nivel de objeto.
Puedes acceder a un atributo estático desde un metodo no estático, pero no puedes acceder a un atributo no estático
desde un metodo estático sin crearte previamente un objeto de la clase que tiene ese atributo.
|
|
2. Comparar cadenas como si fueran tipos básicos.
|
Para comparar el contenido de dos objetos entre si (por ejemplo dos cadenas) no puedes usar ==,
esto compara las referencias a memoria de ambos objetos, que no es lo que solemos pretender. Para comparar objetos usa un metodo de dicha clase (en el caso de String, el metodo equals).
|
|
3. (Dedicado a los que vienen de C o C++) ¿Paso por valor o por referencia?
|
Resumiendo muchisimo: Los tipos básicos en Java se pasan por valor, los objetos por referencia, los arreglos (el array típico) va por valor (ojo, que ArrayList es una clase y por lo tanto van por referencia).
En cualquier caso, intenta que tus metodos devuelvan el elemento que modifiquen en el "return".
|
|
4. Excepción por puntero nulo
|
Cuando quieres acceder a un objeto necesitas reservar memoria: Una cosa es declarar un objeto y otra cosa es que el objeto tenga memoria.
|
|
5. Como nombrar variables y metodos
|
Las clases van con mayuscula primera letra y el resto con minuscula (excepto en nombres de clase compuestos por mas de una palabra). Los
metodos y atributos van todo con minuscula excepto en nombres compuestos que a partir de la segunda palabra van con mayuscula.
Ejemplos de nombre de clase: Conexion, CuentaBancaria. Ejemplos de nombre de metodo: getEdad(), calcularSaldo().
|
|
6. Sin un IDE no se puede compilar un programa Java
|
¿¿!!?? ¿Hasta este punto hemos llegado que no podemos compilar clases con un archivo de proceso por lotes (.bat en Windows y .sh en Linux)y el jdk?
|
|
7. No puedo acceder a un atributo de otra clase
|
Revisa la visibilidad del atributo en cuestion: si no pone nada entonces es por defecto visible en el propio paquete, pero no en otros paquetes. Podrías hacer público el atributo en cuestión o mejor todavia: hacer el atributo privado y
codificar métodos de acceso a dicho atributo (si no es mucho pedir claro) :).
|
|
8. el metodo main no me funciona
|
La cabecera del metodo main debe respetarse tal cual se muestra aqui: public static void main (String args[]), lo único que
puedes cambiar es el nombre del parametro del main pero tampoco te lo recomendamos. Si no respetas esa cabecera la Java Virtual Machine no sabe donde
empezar a ejecutar tu código.
|
|
9. no poner parentesis en un metodo sin parametros
|
Aunque un metodo no tenga parametros es obligatorio poner los parentesis de apertura y cierre.
|
|
10. las clases están en el paquete por defecto
|
Para empezar a programar puedes prescindir de poner tus clases en paquetes, pero si estas trabajando en un entorno comercial, por favor, pon
tus clases en paquetes que tengan un nombrado apropiado al entorno en el que te encuentras.
|