Entradas guardadas bajo "Basico '
Duda: Clases abstractas
¿Una subclase de una clase abstracta puede ser tambien abstracta??
Duda: en ciclo FOR
En un libro encontre lo siguiente:
La siguiente es una declaración correcta de FOR
for (int k=2, c=6; ; t++, p=3){}
¿Como funcionaria el for? a que variable es la que evalúa o para que funciona?
Cuidado con los constructores sin parametro
/* El siguiente código muestra un error de compilacion, puesto que la primera clase no contiene un constructor sin parametros y la clase Segunda que hace referencia implicitamente con SUPER() no encuentra un constructor sin parametros */
class Primera{
Primera(int p){
System.out.println(p);
}
}
class Segunda extends Primera{
Segunda(int k){ //Error de compilacion, puesto que al llamar a super(); la clase padre no contiene un Constructor sin parametros
System.out.println(k);
}
}
Breve ejercicio de Constructores
/* El siguiente código muestra lo que realmente inicia el compilador, puesto que siempre la primera linea
de cualquier constructor es: super(), a menos que tenga -> this() y llame a otro constructor de la misma clase*/
// EL resultado en pantalla debe ser: default saludos
class Primera{
Primera(){
System.out.println(“default”);
}
}
class Segunda extends Primera{
Segunda(){
this(“saludos”); // Un mismo constructor no puede incluir ambas llamadas (this() y super())
}
Segunda(String s){
//implicitamente incluye super() como primera instruccion,
System.out.println(s);
}
}
/* Cualquier duda… posteenla*/
Enumerados: enum
//Es un tipo especial de clase, clase que hereda de java.lang.Enum
//No permite el operador new para la creacion de objetos, se crean
//de forma implicita al hacer referencia en el código
//Enumerado, que solo puede tomar los siguientes valores
enum Direcciones{NORTE,SUR,ESTE,OESTE}
//Clase que utiliza los enumerados
class Barco{
private Direcciones orientacion;
public void setOrientacion (Direcciones s){
orientacion = s;
}
public Direcciones getOrientacion(){
return orientacion;
}
public void muestraValores(){
for(Direcciones dir:Direcciones.values()){
System.out.println(dir);
}
}
}
public class B01Navegacion{
public static void main (String args[]) {
Barco b = new Barco();
//Se observa que podemos utilizar cualquier valor del enumerado
//Sirve para controlar varios tipos de datos que definimos en el enumerado
b.setOrientacion(Direcciones.OESTE);
b.muestraValores();
}
}
Comentarios recientes