Duda: Clases abstractas
¿Una subclase de una clase abstracta puede ser tambien abstracta??
Duda: Clases anonimas
En las clases anonimas:
- Al momento de definir la clase anonima menciona esto:
Contiene una instancia del objeto de la clase anonima, no de la clase Operaciones
¿a que se refiere?
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?
Resumen Parte 1
Comparto mis notas que he recopilado de varios libros y ejercicios que he realizado… como son bastantes… ire subiendo parte por parte, en esta ocasión sera lo básico
Notas:
*****************************************************************************************
* Todas las clases heredan de Object y se encuentra en el paquete java.lang
* Parametro (definido en metodo): public void Metodo(Parametro1, Parametro2);
* Argumento (llamado al metodo): objeto.metodo(Argumento1,Argumento2);
*****************************************************************************************
Utilizando el operador “==”, Si se comparan dos variables de tipo de objetos diferentes, se producira un error de compilación
*****************************************************************************************
***Expresiones regulares
* Sirve para definir patrones, utilizando Pattern y buscar coincidencias con la clase Matcher
* Caracteres literales: cuando se define un patron Pattern p = Pattern.compile(“J2[SEM]E”), serian J2 y E
* Caracteres alternativos: son los que utilizara MATCHER para buscar coincidencias osea SEM
++ [BCNK] Indica que en esa posicion puede aparecer cualquier caracter de B,C,N,K
++ [A-V] Cualquiera entre la A y la V
++ [^CD] Cualquier caracter excepto C o D
++ [.] Cualquier caracter
++ [\d] Digito entre 0 y 9
++ [\s] Espacio en blanco
++ [\w] Un caracter de palabra (letra o numero)
++ \d\d\d\d\d\d patron de fecha corta
++ \w+\.?\w+@\w+\.\w+ patron de correo
++ www\..\+\.com patron de dominio
*****************************************************************************************
***Colecciones
* Es un objeto que es un arreglo de Objetos (referencia a objetos)
* Su tamaño es dinámico en tiempo de ejecucion
*** ArrayList
* Coleccion basada en indices
* Los objetos añadidos pueden ser de cualquier tipo
** Hastable
* Tipo de colecciones basada en claves
* Una clave puede ser cualquier tipo de objeto EX: Empleado y su clave el “DNI”
** Genericos
* Mecanismo para notificar al compilador el tipo de objeto que va a ser almacenado en la coleccion
+ Mecanismo de seguridad para no introducir tipo de objetos no desados
+ No sera necesario realizar una conversion explicita al realizar su recuperacion
* tipo_coleccion <tipo_objeto> variable
* EX: ArrayList <String> lista = new ArrayList<String>();
* EX: Hashtable <String, Empleado> tb = new HashTable<String,Empleado>tb
–> Se especifica el tipo de clave (STRING) y el tipo de objeto (EMPLEADO)
*****************************************************************************************
***Empaquetar
* Es necesario declarar en la ClassPath el directorio de trabajo, para que otras
clases puedan acceder a las clases en el directorio (importandolas)
*****************************************************************************************
*** Metodos sobrecargados
* Pueden tener diferente tipo de devolucion, lo que importa son los parametros:
+ public void metodo(){}
+ public int medoto(int k){}
* Pueden variar los modificadores de acceso
*****************************************************************************************
*** Herencia
* Cada vez que se crea un objeto de una clase, se ejecuta el constructor de la “SUPERCLASE”
y despues el de la SUBCLASE
** Atributo protegido
* Un miembro de una clase definido como protected sera accesible desde cualquier
subclase de esta, no importa el paquete donde este.
* Las subclases acceden a los miembros protegidos a través de la herencia, no pueden
instanciar un objeto de la superclase y acceder a los miembros protegidos
EX: Superclase: Punto p = new p
Subclase: class PuntoB extends Punto
en subclase: this.getEdad() -> Correcto
en subclase: p.getEdad() -> Mal
*****************************************************************************************
** Sobreescritura — Override
* el metodo sobreescrito debe de tener la misma sintaxis en RETORNO, NOMBRE y ARGUMENTOS
* el metodo sobreescrito puede tener un modificador de acceso menos restrictivo, es decir
en lugar de protected (SUPERCLASE) sera public (SUBCLASE–>metodo sobreescrito)
** Retornos diferentes (version 1.5)
* Es posible sobreescribir un metodo y regresar un SUPTIPO (es decir de subclase) del orginial
SUPERCLASE -> Figura
Subclase -> Circulo
Metodo en la clase Circulo para regresar una copia de el mismo
(version 1.4)
public Figura getNewFigura(){ return new Circulo(radio,getColor());
Circulo circ2 = (Circulo)cir.getNewFigura(); //Requiere cast
(version 1.5)
public Circulo getNewFigura(){ return new Circulo(radio,getColor());
Circulo circ2 = cir.getNewFigura(); // NO REQUIERE CAST
*****************************************************************************************
***Polimorfismo
* Es posible asignar un objeto una variable de la superclase:
+ Figura f = new Triangulo()
> En este caso la variable (f) puede ser utilizada para invocar
a los metodos de la superclase y no a los de la subclase
y los metodos haran referencia a los objetos creados:
f.area() // referencia al area del Triangulo
Figura f = new Circulo()
f.area() //referencia al area del Circulo
** Abstraccion
* Podemos definir metodos no abstractos y que al heredarlos se pueden usar o no.
*****************************************************************************************
PREGUNTAS 31 A 60
Question 31
Which two code fragments correctly create and initialize a static array
of int elements? (Choose two.)
A. static final int[] a = { 100,200 };
B. static final int[] a;
static { a=new int[2]; a[0]=100; a[1]=200; }
C. static final int[] a = new int[2] { 100,200 };
D. static final int[] a;
static void init() { a = new int[3]; a[0]=100; a[1]=200; }
Question 32
Given:
11. public class Ball {
12. public enum Color { RED, GREEN, BLUE };
13. public void foo() {
14. // insert code here
15. { System.out.println(c); }
16. }
17. }
Which code inserted at line 14 causes the foo method to print RED,
GREEN, and BLUE?
A. for( Color c : Color.values())
B. for( Color c = RED; c <= BLUE; c++)
C. for( Color c; c.hasNext() ; c.next())
D. for( Color c = Color[0]; c <= Color[2]; c++)
E. for( Color c = Color.RED; c <= Color.BLUE; c++)
Question 33
Given:
10. public class Fabric
11. public enum Color {
12. RED(0xff0000), GREEN(0x00ff00), BLUE(0x0000ff);
13. private final int rgb;
14. Color( int rgb) { this.rgb = rgb; }
15. public int getRGB() { return rgb; }
16. };
17. public static void main( String[] argv) {
18. // insert code here
19. }
20. }
Which two code fragments, inserted independently at line 18, allow the
Fabric class to compile? (Choose two.)
A. Color skyColor = BLUE;
B. Color treeColor = Color.GREEN;
C. Color purple = new Color( 0xff00ff);
D. if( RED.getRGB() < BLUE.getRGB() ) {}
E. Color purple = Color.BLUE + Color.RED;
F. if( Color.RED.ordinal() 3) {
13. System.out.print(”pi is bigger than 3. “);
14. }
15. else {
16. System.out.print(”pi is not bigger than 3. “);
17. }
18. finally {
19. System.out.println(”Have a nice day.”);
20. }
‘What is the result?
A. Compilation fails.
B. pi is bigger than 3.
C. An exception occurs at runtime.
D. pi is bigger than 3. Have a nice day.
E. pi is not bigger than 3. Have a nice day.
Question 58
Given:
10.int x=0;
11.int y 10;
12. do {
l3. y–;
14. ++x;
15. } while (x < 5);
16. System.out.print(x + “,“ + y);
What is the result?
A. 5,6
B. 5,5
C. 6,5
D. 6,6
Question 59
Given:
25.intx=12;
26. while (x < 10) {
27. x–;
28. }
29. System.out.print(x);
What is the result?
A. 0
B. 10
C. 12
D. Line 29 will never be reached.
Question 60
Given:
35. int x= 10;
36. do {
37. x–;
38. } while(x< 10);
How many times will line 37 be executed?
A. ten times
B. zero times
C. one to me times
D. more than ten times
Comentarios recientes