Chapter1 Flashcards

(287 cards)

0
Q

Estos identifiers son iguales FOO y foo

A

False no son iguales, java es case sensitive

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

Las 5 reglas de los identifiers

A

1) empiezan con letra, currency caracter,or connecting caracter (underscore). No puede comenzar con numero o digito.
2) luego del primer caracter pueden tener cualquier combinacion y longitud de letras,currency, connecting char, digitos
3) no tienen limite de tamano
4) no se puede usar java keywords
5) son case sensitive

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cual de las siguientes palabras se puede usar como identifier:

Abstract, boolean, byte, break, case, catch
Char, class, const, continue, default, do

A

Ninguna todas son java keywords

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Const es un identifier?

A

No, es palabra reservada de java o java keyword

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Finally puede ser un identifier?

A

No, es palabra reservada de java o java keyword

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Goto puede ser un identifier valido?

A

No, es palabra reservada de java o java keyword

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Instanceof puede ser un identifier valido???

A

No, es palabra reservada de java o java keyword

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Strictfp puede ser un identifier????

A

No, es palabra reservada de java o java keyword

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Assert puede ser un identifier valido en java?

A

No, es palabra reservada de java o java keyword

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Transient es un identifier valido en java???

A

No, es palabra reservada de java o java keyword

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Es native un identifier valido en java???

A

No, es palabra reservada de java o java keyword

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Es synchronized palabra clave de java???

A

Si es un java keyword

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Es volatil un keyword de java?

A

Si por tanto no se puede usar como identifier

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cuales son las tres reglas de naming standars de las classes????

A

1) first letter should be capitalize
2) se usa CamelCase
3) se usa nouns for classes
4) ex: Dog, Account, PrintWriter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cuales son las tres reglas de naming standars de las interfaces???

A

1) first letter should be capitalize
2) se usa CamelCase
3) se usa adjectives para interfaces
4) ex: Runnable, Serializable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cuales son las dos reglas de los naming standars de los metodos???

A

1) first letter lowercase then CamelCase
2) the names should be verb-noun pair

Ex: getBalance, doCalculation, setCustomerName

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cuales son las dos reglas de naming standars de las variables???

A

1) first character lowercase then CamelCase
2) should be meaningful names

Ex: buttonWidth, myString, accountBalance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Cuales son las dos reglas de naming standars de las constantes???

A

1) making them static and final

2) should be named using UPPER CASE letters and underscores as separators MIN_HEIGHT

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Cuantos clases publicas puede tener un archivo fuente??? How many public classes can have a source code file?????

A

Solo uno. There can be ONLY one.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Como son las reglas en cuanto a los comentarios????

A

Los comentarios son independientes.

Pueden estar al principio o al final de cualquier linea en el archivo fuente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Que pasa con el archivo si existe una clase publica???

A

The name of the file MUST match the name of the public class.

Example : class declared

Public Dog {} el archivo se debe llamar Dog.java

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Que se hace si la clase es parte de un paquete??? O que pasa?

A

The package statement MUST be the FIRST line in the source code file. before any import statements that may be present.

La instruccion de paquete tiene que ser la primera linea, antes q cualquier importacion

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Que pasa con los import statements o instrucciones de importacion????

A

Tienen q ir entre la instruccion de paquete (package statement P.S.) y la declaracion de la clase ( class declaration).

Si no hay P. S. La instruccion de importacion (import statement tiene que ser la primera linea).
Si no hay ningun statement , la CLASS declaration tiene que ser en la primera linea del codigo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Como se aplica o a quien se le aplican las instrucciones de paquete y de importacion?

A

Se le aplican a todas las CLASES que esten dentro del codigo fuente.

Es decir, no se puede declarar multiples clases en un archivo y tenerlos en diferentes paquetes o que usen diferentes importaciones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Cuantas clases puede tener un archivo de codigo fuente???? (Source code file)
Sola una publica, y mas de una no publica.
25
Que pasa con los archivos que no tienen clases publica?????
Pueden tener otro nombre q no sea igual al de sus clases en el mismo archivo.
26
Cuales son las 8 reglas de Source file declaration rules?
1) only one public class per source file. 2) comments independientes 3) public class match el nombre del archivo. 4) paquete primera linea 5) import luego del paquete antes de la clase. 6) paquete e imports se aplican a todas las clases 7) un archivo puede tener mas de una clase nopublica. 8) naming para nonpublic classes could b anything.
27
Cual es el comando para invocar el compilador de java y como es la estructura????
El comando es javac La estrctura es javac [options] [source files]
28
Como se llama la linea de comandos adicionales para invocar al compilador????
Se llama @argfiles
29
Cuales son las partes del comando para invocar al compilador como se separan??? Y ejemplo?
1) el comando es javac [options] [source files] 2) [options] & [source files] son partes opcionales del comando javac y ambos permiten multiple entradas. Separados por espacio 3) javac -version Foo.java Bar.java Version imprime la version del compilador y le pasa al compilador dos archivos java que se separan por espacios
30
Que comando se usa para invocar la java virtual machine???? JVM
1) java y la estructura es java [options] class [arguments]
31
Que hace en la linea de comando la instruccion javac y java???
1) javac llama al compilador | 2) java llama al JVM
32
Se le puede hacer overload al metodo main??
Si se puede
33
como se ejecuta el JVM??
1) java [options] class [args] 2) [options] and [args] are optionaland they both can have multiple values. 3) se especifica EXACTAMENTE un archivo de clase para ejecutar, y el java command asume que se trata de un archivo .class, es decir no se especifica la extension .class
34
como se ejecuta el JVM con un ejemplo?
java -version MyClass x 1 o java MyClass x 1 esto quiere decir muestra version de JVM, luego ejecuta el archivo MyClass.class y envia dos argumentos x y 1
35
que es main ()?? ojo en minuscula
main () es el metodo que usa la JVM para iniciar la ejecucion de un programa java.
36
Nombrar un metodo main () es suficiente para que se el metodo que la JVM usa para iniciar un programa de java????
No, el unico metodo main que tiene super poderes y es el que utiliza la JVM para iniciar la ejecucion de un programa tiene que tener la siguiente firma: public static void main (Strings [ ] args)
37
cual es la firma del metodo main() que utiliza la JVM para iniciar la ejecucion de un programa en java
public static void main (Strings [ ] args)
38
son validas versiones de main() que no tengan la siguiente firma: public static void main (Strings [ ] args)
una firma diferente a esa en un metodo llamado main () es legal pero va a ser tratado como un metodo normal y corriente, no tiene super poderes.
39
en cuanto al metodo main() que se utiliza para iniciar la ejecucion de un archivo java, que tanto se puede flexibilizar la firma, o que concesiones se pueden tomar?
1) el orden de sus modifiers puede alterarse un poquito | 2) el String array no tiene que llamarse args. se puede usar la varargs syntax.
40
Ejemplos de la flexibilizacion del metodo main(0 "especial", es decir el que usa la JVM para iniciar un programa.
la firma original es public static void main (String [ ] args) podria ser tambien static public void main (String[ ] args) public static void main (String ... x) static public void main (String bang_a_gang [ ])
41
en resumen que hace una instruccion de importacion????
ahorrarnos tiempo y tipeo .!!!!
42
que es un fully qualified name??? y un ejemplo???
El uso de fully qualified name es lo que utilizan los developers para que dos classes con el mismo nombre no se confundan. ejemplo : java.util.ArrayList
43
que pasaria si no hago el import.java.util.Arraylist????? y quiero usar el arraylist en mi programa? y como seria si hago la importancion de : import.java.util.ArrayList;
tendria que escribir la declaracion asi ``` java.util.ArrayList a = New Java.util.ArrayList(); Despues de importar seria: ArrayList a = new ArrayList( ); ```
44
Como se interpretan las instrucciones de importacion o los import statements??? en este caso import.java.util.ArrayList
en el JAVA API hay un paquete llamado UTIL ese paquete contiene una clase llamada ArrayList, entonces cada vez que se vea la palabra ArrayList en esta clase es la version resumida o el atajo para java.util.ArrayList.
45
Esto esta correcto??? ArrayList a = New ArrayList(); java.util.ArrayList a2 = new java.util.ArrayList ();
Si es perfactamente valido y legal. Se puede hacer mix and match, se usan unas instrucciones con la importancion y con otras importanciones se usa el fully qualified name.
46
Que pasa si queremos usar diferentes clases del mismo paquete java.util? por ejemplo ArrayList and TreeSet?
Se agrega un wild card o un comodin (*) a la instruccion de importacion. import.java.util.* lo que dice es si ves una referencia a una clase donde no se esta muy seguro buscala en todo el paquete de esa clase.
47
como es la syntax del feature called "Static Import"???? y que se puede importar?
the syntax must be: import static. followed by the fully qualified name of the static member or a wild card. ex: import static java.lang.system.out import static java.lang.Integer.* 2) API classes and custom classes
48
Que significa import static java.lang.Integer.*;
Primero se esta utilizando un feature de Static Import. we want to use several of the static members of the java.lang.Integer class this import use the wild card to say " I want to do static imports of all the static members in this class"
49
``` import static java.lang.System.out; public class TestStatic{ ... out.println(MAX_VALUE); } ``` Que podemos observar aqui????
beneficio del static import feature se uso el shortcut para un metodo estatico y una constante. en vez de escribir System.out.println, se escribio solo out.println.
50
cuales son las 3 reglas para usar el feature de los static import??
1) you must say import static 2) watch out for ambiguedades de dos paquetes pueden tener la misma constante y java no sabria cual usar. 3) se pueden hacer static import on: a) static object references b) constants(remember they are static and final) c) static methods
51
Exam Watch: es valida la siguiente instruccion? import.java.*;
aunque es valida y legal esto no hace nada, no buscara en los diferentes paquetes, no se pueden hacer busquedad amplias.
52
Exam Watch es valida import.java.util.*; para q se usa el *?
si es valida se usa para buscar dentro del paquete java.util el * se usa para buscar dentro del paquete o una clase.
53
Exam Watch import static java.lang.Integer.*; es valido?
si es valido va a buscar en la clase java.lang.Integer.
54
como se declara una clase???
class MyCLass {}
55
donde se colocan los modifiers que tienen que ver con una clase?
se pueden agregar modifiers antes de la declaracion de la clase
56
Cuales son las dos categorias de los modifiers?
1) Access Modifiers (public, protected, private) | 2) Nonaccess Modifiers (strictfp, final, & abstract )
57
cuantos package staments puede tener un archivo?? y cuantos import statements puede tener un archivo???
un archivo puede tener solo una instruccion de paquete ( package statement) pero puede tener multiple instrucciones de importacion (imports).
58
cuales son los 3 access modifiers?
1) public 2) protected 3) private
59
cuales son los 4 niveles de acceso?
1) public 2) protected 3) default 4) private
60
que tipo de acceso puede tener las classes?
las classes solo pueden tener public o dafault access. el acceso solo puede ser public o dafault
61
Quien puede ver una clase que tiene dafault access???
solo la pueden ver las classes dentro del mismo paquete
62
una clase con un public access (public modifier) quien la puede ver?
la puede ver TODAS las clases desde TODOS los paquetes.
63
Que significa accesar a una clase? o cuales son las 3 cosas que se pueden hacer cuando una clase a accesa a una clase b?
1) crear una instancia de la clase b 2) extender la clase b (volverse subclass de b) 3) accesar ciertos metodos y variables dentro de la clase b, dependiendo del control d acceso de esos metodos y variables.
64
que significa acceso????
acess means VISIBILITY
65
cuales son los modificadores nonaccess que pueden tambien modificar una clase?
1) final 2) abstract 3) strictfp
66
una clase puede ser final y abstracta? puede una clase ser final and abstract? por que?
A CLASS CANNOT be both final and abstract. porque ....
67
se puede generar una subclase de una clase final?
NO, a final class cannot be subclassed.
68
Se puede instaciar una clase abstracta??
nope, una clase abstracta no se puede instanciar.
69
un solo metodo abstracto en una clase que significa?
significa que toda la clase TIENE que ser abstracta.
70
que tipo de metodos puede tener una clase abstracta?
Una clase abstracta puede tener ambos tipos de metodos abstract y nonabstract.
71
Que tiene q hacer la primera clase concreta que extienda una clase abstracta?
tiene que implementar todos sus metodos abstractos.
72
que hacen los access modifierss?
restringuen o permiten el acceso a la clase metodo o variable que se crea
73
Que pasa al compilar un archivo que tiene una clase que extiende otra de otro paquete q tiene Como control de acceso default?? Como se resolveria la situacion q se presenta?
No compila, no lo puede ver. La superclase tiene acceso por defecto y esta en otro paquete 2) se resuelve poniendo las dos clases en el mismo paquete o dandole control de acceso public a la super clase
74
Que tenemos q hacer si queremos usar una clase publica que esta en otro paquete diferente al que estoy escribiendo???
Lo podemos ver tenemos acceso a la clase pero OJO hay que IMPORTAR la clase publica
75
se puede heredar una clase publica en otras palabras una clase publica es free to subclass??
si se puede heredar extender o generar una subclase de una clase publica.
76
cuales son los keywords que se pueden utilizar para modificar una clase con NONACCESS modifiers???
1) final 2) abstract 3) strictfp
77
una clase puede ser publica y final?
si se puede
78
para que se usa strictfp? que puede modificar?
solo puede modificar una clase o un metodo pero NUNCA UNA VARIABLE.
79
se puede usar strictfp para modificar una variable?
no, nunca
80
que quiere decir que una clase este marcada como strictfp?
significa que cualquier CODIGO DE METODO en la clase se ajusta a las normas IEE754(standar rules) para los floating points.
81
que significa que una clase este marcada o tenga el modifier de FINAL?
significa que la clase no se puede extender, no se pude generar una subclase. NINGUNA CLASE PUEDE HEREDAR UNA CLASE FINAL.
82
que pasa si una clase trata de heredar o extender una clase final???
se genera un compile error!!!
83
para que se marca una clase final?
cuando se necesita una garantia absoluta que ninguno de los metodos en esa clase podran ser OVERRIDEN, nadie puede cambiar la implementacion. una clase final no se puede extender cualquier intento genera compile error.
84
Que quiere decir que una clase sea final?
que no se puede heredar, no se puede mejorar ningun otro programador la puede tocar.
85
cuando usar final?
en la practica no se usa mucho | se usa por security and safety reasons
86
Se puede instanciar una clase abstracta?
no se puede instanciar, NUNCA
87
cual es el proposito de una clase abstracta?
su razon de ser es ser extendida o heredada
88
en que terminan las instrucciones de metodos de las clases abstractas?
a diferencia de los metodos de las clases concretas que utilizan { } , las clases abstractas usan punto y coma;
89
se puede compilar y ejecutar una clase abstracta?
si siempre y cuando no se trate de instanciar
90
que pasa si hay un metodo que termina en ; en vez de curly braces {}? y esta dentro de una clase???
AMBOS el metodo y la clase tienen que estar marcados como ABSTRACT
91
si un solo metodo es abstract que tiene que pasar con la clase?
toda la clase tiene que ser declarada abstracta
92
Pregunta de examen Arreglar un codigo con un metodo que termina en ; , ni la clase ni el metodo tienen el modifier abstract, que se puede hacer?
1) se cambiar por curly braces {} | 2) se marcan la clase y el metodo como abstract.
93
Si se llegan a ver estos dos modifiers juntos que sucede final & abstract? que sucede?
error de compilacion, son opuestos uno dice extiendeme y el otro no te deja heredar.
94
una clase abstracta puede tener metodos abstractos y no abstractos?
si se puede
95
que pasa con la primera clase concreta en extender una clase abstracta?
la clase concreta tiene que implementar todos los metodos abstractos.
96
que es una interfaz?
es un contrato que dice que PUEDE hacer la CLASE pero sin decirle COMO lo va hacer.
97
quienes puede implementar las interfaces?
pueden ser implementadas por CUALQUIER CLASE desde cualquier arbol de herencia
98
que permite implementar una interfaz?
lo que permite es tomar clases que son distintas y darle unas caracteristicas comunes
99
cuando yo declaro esto que ve el compilador? ``` interface bounceable void bounce(); void setBounceFactor(); ```
el compilador ve public abstract void bounce(); public abstract void setBounceFactor();
100
cual es la instruccion para implementar una interfaz y un ejemplo?
``` class MyClass implements Bounceable{ public void bounce(){} public void setBounceFactor(){} } ```
101
que pasa con los metodos de la interfaz cuando se van a implementar por la clase?
todos los metodos tienen que estar marcados como PUBLICOS y tienen que ser implementados.
102
como se puede pensar una interfaz?
como una clase 100% abstracta y es implicitamente abstracta whether we type the abstract modifier in the declaration or not.
103
como se declaran los metodos en la interfaz?
como en la clase abstracta | abstract void bounce(); //ends with ; instead of {}
104
cual es la diferencia entre una clase abstracta y una interfaz?
una clase abstracta puede definir metodos abstractos y no abstractos (concretos) pero una interfaz SOLO puede definir metodos abstractos, no permite metodos concretos.
105
en la declaracion de una interfaz cual modifier se considera redundante?
el modifier abstract
106
que es implicitamente la interfaz lo tipees o no?
ABSTRACT
107
estas declaraciones son iguales????? public abstract interface Rollable{} public interface Rollable{}
si son funcionalmente identicas
108
Cuando se le coloca el modifier public a una interfaz? public interface Rollable{}
se requiere cuando se quiere que tenga acceso publico en lugar de DEFAULT Access
109
Cuales son los modifieres que son redudantes en los metodos de una interfaz?
los modifiers redundantes en una interfaz son PUBLIC & ABSTRACT ya que todos los metodos de una interfaz son implicitamente public y abstract.
110
Que son los modifiers public & abstract en un metodo de una interfaz?
son redundantes ya que todos los metodos de una interfaz son implicitamente public & abstract
111
``` esto es correcto?? public interface Bounceable{ void bounce( ); // no modifiers void setBounceFactor ( int bf);//no modifiers } ```
si esta correcto porque todos los metodos en una interfaz son implicitamente PUBLIC and ABSTRACT
112
estas 5 delcaraciones de metodos de una interfaz estan correctas? 1) void bounce( ); 2) public void bounce( ); 3) abstract void bounce( ); 4) public abstract void bounce ( ); 5) abstract public void bounce( );
si son legales e identicas porque todos los metodos de una interfaz son implicitamente PUBLIC & ABSTRACT
113
la siguiente declaracion de metodo de interfaz compila? final void bounce();
no compila, error de compilacion
114
la siguiente declaracion de metodo de interfaz compila? static void bounce( );
no compila error de compilacion
115
la siguiente declaracion de metodo de interfaz compila? private void bounce( );
private void bounce ( ); no compila, error de compilacion
116
la siguiente declaracion de metodo de interfaz compila? protected void bounce();
no compila error de compilacion
117
una clase cuantas clases puede extender y cuantas interfaces??
se puede extender solo una clase pero se puede implementar multiple interfaces
118
Cuantas interfaces puede extender una interfaz?
interfaces can extend one ore more other interfaces puede extender una o mas
119
las interfaces puede extender una clase?
no pueden extender una clase
120
las interfaces pueden implementar una clase o interface?
no pueden implementarla
121
TIP PARA eXAMEN EN CUANTO A LA INTERFAZ que hay q hacer de primeo?
verificar que las declaracion de la interfaz y de la clase son legales antes de verificar la logica del codigo.
122
LAs reglas de las interfaces son 9, las primeras don son?
1) todos los metodos de la interfaz son implicitamente PUBLIC & ABSTRACT (no hace falta escribirlo) 2) todas las variables definidas dentro de una interfaz tienen que ser PUBLIC, STATIC, AND FINAL (es decir solo CONSTANTES)
123
Las interfaces tienen 9 reglas, cuales son las 3 y 4 regla ?
3) los metodos de interfaz NO PUEDEN SER STATIC | 4) Como los metodos de interfaz son ABSTRACTO, no pueden ser marcados con final, strictfp or native.
124
9 reglas para las interfaces, cuales son las reglas 5 y 6 en cuanto a herencia "extends"?
5) una interfaz puede extender una o mas interfaces. | 6) una interfaz solo puede extender otras interfaces, no puede extender clases.
125
9 reglas de las interfaces cuales son las reglas 7, 8 y 9?
7) una interfaz no puede implementar(implements) otra interfaz o clase. 8) una interface se tiene que declarar con el KEYWORD INTERFACE 9) los tipos de interfaz pueden ser usados polimorficamente
126
cual es de one key rule para las constantes de las interfaces?
tienen SIEMPRE que estar marcadas como public static final
127
las constantes de las interfaces tienen que ser declaradas con los keywords de los modifiers?
no, son implicitamente public static final, no hay que poner los keywords,
128
el valor de una constante de una interfaz puede ser cambiado despues de su implementacion?
no nunca
129
que pasa si trato de cambiar el valor de una constante de interfaz en su implementacion?
error de compilacion
130
que modifiers tienen que tener las constantes declaradas dentro de una interfaz?
son implicitamente public static final pueden tenerlo escrito o no o alguna combinacion de ellas.
131
``` estas constantes son correctas public int X = 1 int X = 1 static int X=1 final int X =1 public static final X =1 ```
Si son todas correctas, las constantes son implicitamente public static final puede escribirse los modifiers o no o una combinacion de ellos
132
cuantos niveles de control de acceso usan las clases?
dos, default and public
133
cuantos niveles de control de acceso usan los metodos y las variables o los miembros?
cuatro, 4, public protected private and default.
134
que es default proteccion?
lo que se obtiene cuando no se escribe un access modifier en la declaracion del miembro
135
diferencia entre default and protected?
son casi iguales la diferencia mayor es que dafault lee en un mismo paquete protected puede leer fuera del paquete si es una subclase.
136
cuando el codigo de un metodo de una clase A puede accesar un miembro de otra clase B
ocurre cuando el metodo en una clase A intenta acceder a un metodo o una variable de otra clase B usando el operador (.) para invocar un metodo o recuperar una variable. la clase tiene que ser publica. o tiene que tener visibilidad
137
Si una subclase hereda un miembro que significa?
es exactamente como si en la subclase se hubiera declarado el miembro, si la subclase hereda el miembro, la clase TIENE Al miembro.
138
Partiendo que una subclase y una superclase estan en paquetedes diferentes........que pasa si una subclase tiene un miembro que heredo de su superclase y la superclass esta declarada publica, se hereda el miembro si estan en paquetedes diferentes?????
si la subclase hereda el miembro regardless both classes are in the same package.
139
por quien puede ser accesado los miembros marcados privados?
los miembros marcados privados no pueden ser accesados por ningun codigo en ninguna otra clase que la clase en la cual el miembro privado se declaro.
140
que pasa si un metodo es privado dentro de una clase publica?
la clase se puede instanciar desde otra clasa pues es publica pero OJO el metodo no se puede usar porque es privado. es como si dicho metodo PRIVADO no existiera fuera de esa clase.
141
como se podria definir un miembro privado si lo mira otro codigo desde fuera de su propia clase o lo miran otros miembros que no son de su clase.
OJO SERIA INVISIBLE
142
Que pasa con una subclase que trata de heredar un miembro privado de su superclase?
cuando un miembro es declarado PRIVATE NO SE HEREDA
143
que pasaria si la super clase tiene un metodo privado llamado doRooThings ya sabemos que la subclase no lo hereda, pero en la subclase hay un metodo llamado doRooThings?, es metodo overrriding?
NO ES METODO OVERRIDING , es legal se puede declarar que tenga el mismo nombre pero es solo un metodo que por casualidad se llama igual al metodo privado pero no lo esta overriding, en teoria nosotros no sabemos que se llaman igual. Por tanto, las reglas de overriding no se aplican.
144
can a private method be overriden by a subclass?
tecnicamente NO, la subclase no puede heredar un metodo privado por lo tanto no puede override it.
145
que es un default member?
un default member may be accessed ONLY si la clase que trata de accesarlo pertenece al MISMO PAQUETE
146
que es un protected member?
es aquel que puede ser accesado a traves de la herencia por una subclase incluso si la subclase esta en otro paquete.
147
que significa cuando un metodo no tiene algun modifier?
significa que el method has acceso por DEFECTO.
148
que hace el protected keyword cuando se usa para definir un miembro
cualquier subclass puede accesarlo a traves de la herencia sin importar en que paquete este. es decir, respeta la relacion parent child, existe la relationship even when the child moves away and join a new package.
149
que quiere decir default keyword
no permite a una subclase accesar a la super clase al menos que este en el mismo paquete
150
que significa que una subclase fuera del paquete tenga acceso a un miembro de una super clase?
significa que la subclase hereda al miembro, no se accesa usando una referencia a una instancia de la super clase, es decir la subclase no puede usar el DOT OPERATOR (.), the subclass can see the protected member only through inhereitance.
151
como se comporta un miembro protected una vez que ha sido heredado? mantiene su estatus de protected? otras clases en el paquete donde esta el child puede verlo? OJOOOO cual seria la excepcion?
una vez que la clase hereda fuera del paquete un miembro protected se vuelve PRIVADO para cualquier codigo fuera de la subclase, con excepcion de una SUBCLASE de la SUBCLASE!
152
can access modifiers be applied to local variables?
no
153
watch out que esta malo aqui? ojo x es una variable LOCAL ``` class Foo{ void doStuff(){ private int x = 7; this doMore (x);} } ```
una variable LOCAL no lleva access modifiers ESO ESTA MAL!!! private int x = 7 es ILEGAL. COMPILE ERROR!!!!
154
cual seria la excepcion de que las variables locales no llevan acces modifiers? hay algun caso en el que si lo lleve?
Si hay un solo caso cuando son constante y llevan el modifier FINAL.
155
Visibilidad: se pueden ver en la misma clase si son: 1) public 2) protected 3) default 4) private
1) yes 2) yes 3) yes 4) yes
156
Visibilidad: se pueden ver desde diferentes clases en el mismo paquete 1) public 2) protected 3) default 4) private
1) yes 2) yes 3) yes 4) no
157
Visibilidad: se pueden ver desde una subclase en el mismo paquete 1) public 2) protected 3) default 4) private
1) yes 2) yes 3) yes 4) no
158
Visibilidad se pueden ver desde una subclase fuera del mismo paquete 1) public 2) protected 3) default 4) private
1) yes 2) yes 3) no 4) no
159
Visibilidad: se pueden ver desde alguna clase no subclase fuera del paquete 1) public 2) protected 3) default 4) private
1) yes 2) no 3) no 4) no
160
que previene el final keyword en un metodo?
previene que un metodo sea overriding en una subclase
161
que son method arguments???
son las declaraciones de las variables que aparecen entre parentesis en la declaracion de un metodo ex public Record getRecord(int fileNumber, int recNumber)
162
que reglas se aplican a los argumentos de metodo?
las reglas que se le aplican a las local variables. pueden tener el modifier final.
163
que pasa con un argumento de metodo final?
tiene que mantener el mismo valor que el parametro tenia cuanso se paso al metodo, no se puede modificar dentro del metodo.
164
que es un metodo abstracto?
un metodo que se ha declarado abstracto pero no se ha implementado es decir no tiene codigo funcional
165
cuando se marca un metodo como abstracto?
cuando quieres forzar a la subclase que proporcione la implementacion
166
``` es legal? public class IlegalClass{ public abstract void doIt(); } ```
no, error de compilacion, la clase tienen que ser declarada abstracta asi tenga un solo metodo abstracto
167
4) cuantos metodos abstractos necesita una clase para ser declarada abstracta?
un solo metodo abstracto y la clase tiene que ser declarada abstracta
168
``` se puede tener? public abstract class LegalClass{ void goodMethod(){ // lots of code } } ```
si, compila sin problema, se puede tener una clase abstracta sin metodos abstractos, con metodos concretos y compila bien.
169
como saber si un metodo no es abstracto?
1) no esta marcado como abstracto | 2) declaracion incluye {} en vez de ;
170
como es le regla de oro de las clases abstractas?
la primera subclase concreta de una clase abstracta tienen que implementar todos los metodos abstractos de la superclase
171
que pasa cuando una clase abstracta extiende otra clase abstracta?
la subclase abstracta no tiene que proporcionar la implementacion de los metodos abstractos heredados.
172
tip clases abstractas
en el examen buscar clases CONCRETAS que no proporcionan implementacion para los metodos abstractos de la superclass
173
``` esto compila??? public abstract class A{ abstract void foo();}} class b extends class A{ void foo(int i){} } ```
no compila, no estan implementando el metodo foo, en realidad es una overloading same identifier but different arguments
174
ppuede un metodo estar marcado both abstract and final?
no son opuestos
175
puede un metodo estar marcado abstract and private?
no nunca
176
se puede combinar abstract modifier con static modifier?
no nunca
177
es legal abstract static void doStuff();?
no es ilegal
178
que significa keyword SYNCRONIZED en un metodo?
significa que un metodo solo puede ser accesado por un hilo thread a la vez
179
a que se le aplica el keyword synchronized?
SOLO A METODOS, no a variables no a clases. ex public synchronize Record retrieveUserInfo(int id){}
180
que es un argumento? cuando se usa argumento?
cuando se invoca al metodo!
181
cuando se una o se llama parametro??
en la firma del metodo
182
que quiere decir el keyword Native?
que el metodo se esta implementando en una plataforma dependiente del codigo C
183
es native un modifier?
si
184
a que se aplica el keyword native?
solo a metodos, NO CLASES, no VARIABLES
185
que simbolo usa el cuerpo de un metodo native?
el semicolon ; como los metodos abstractos, el semicolon es para decir que se ha omitido la implementacion
186
que pasa con strictfp?
puedes predecir como se van a comportar los numeros float sin importar la plataforma
187
si no se declara una clase strictfp, igual se puede declarar los metodos strictfp?
si se puede
188
que se puede marcar y que no se puede marcar como strictfp?
si se pueden marcar con strictfp las clases y los metodos. NO SE PUEDE las variables.
189
cual es la diferencia entre un constructor y un metodo?
el constructor no tiene un tipo de retorno o return type
190
cual es el big rule de los constructores?
que a juro MUST se tienen que llamar igual que la clase en la que estan siendo declarados
191
se puede marcar un constructor static?
no se pueden y menos ya que estan asociados con la instanciacion
192
un constructor se puede marcar final u abstracto?
no se puede ....porque no se pueden ser override
193
son ilegales los constructores: class Foo2{ 1) void Foo2(){} 2) Foo(){} 3) Foo2 (short s); 4) static Foo2 (float f) {} 5) final Foo2(long x){} 6) abstract Foo2(char c){} 7) private Foo2(byte b){}
1) // esto es un metodo por el return type 2) //otro nombre ni metodo niconstructor 3) //parece un metodo abstracto 4) //no puede ser static el constructor 5) //no puede ser final el constructor 6) // no puede ser abstracto el constructor 7) constructor legal
194
cuantos tipos de variables hay en java?
2 primitives y reference variables
195
cuales son los 8 tipos de variables primitivas?
1. char 2. boolean 3. byte 4.short 5.int 6. long 7. double 8.float
196
una vez declarada una variable primitiva puede cambiar de tipo o de valor?
nunca puede cambiar de tipo, en la mayoria de los casos puede cambiar de valor
197
que es una reference variable? o variable por referencia?
una variable de referencia se usa para referirse o accesar un OBJETO
198
que tipo tiene una variable de referencia? puede cambiar???
las variables por referencia son declaradas para ser de un tipo en especifico y ese tipo nunca puede cambiar
199
una variable por referencia se puede usar para referirse a que?
a cualquier objeto del mismo tipo o un subtipo al tipo declarado (compatible class)
200
las variables primitivas se pueden declarar como variables de clases?
si se puede
201
las variables primitivas pueden declararse como instance variables? como method parameter? y local variable?
1) si 2) si 3) si
202
cual es la secuencia for the integer types de small a big?
byte - short - int - long | doubles are bigger than floats
203
Cuantos bits tiene un byte?
8
204
Cuantos bytes tiene un byte?
1
205
Cuantos bits tiene un short?
16
206
Cuantos bytes tiene un short?
2
207
Cuantos bits tiene un int?
32
208
Cuantos bytes tiene un int?
4
209
Cuantos bits tiene un long?
64
210
Cuantos bytes tiene un long?
8
211
Cuantos bits tiene un float?
32
212
Cuantos bytes tiene un float?
4
213
Cuantos bits tiene un double?
64
214
Cuantos bytes tiene un double?
8
215
como se pueden declarar las variables por referencia?
``` se pueden declarar como: static variables instance variables method parameter local variables ```
216
que son instance variables?
son aquellas que estan definidas DENTRO de una clase pero FUERA de cualquier metodo y son INICIALIZADAS cuando la clase es instanciada
217
las variables de instancias son los fields que pertenecen a cada unico objeto. algun ejemplo?
``` si ex. class Employee{ // define fields(instance variables) for employee instances. private String name; private String Titile, private String manage;} ```
218
las variables de instancia pueden usar cualquiera de los 4 niveles de acceso?
si pueden estar marcada con cualquiera de los 3 modifiers
219
se puede marcar como final? las instances variables?
si se ouede marcar FINAL
220
the instance variables pueden ser marcadas transient?
si
221
the instance variables pueden ser marcadas abstract?
no
222
the instance variables pueden ser marcadas synchronized?
no
223
the instance variables pueden ser marcadas strictfp?
no
224
the instance variables pueden ser marcadas native?
no
225
the instance variables pueden ser marcadas static?
no porque se volverian class variables
226
que es una variable local?
una variable declarada dentro de un metodo
227
en que memoria esta la variable local?
en he stack memory
228
si la variable es la referencia a un objeto en que memoria se crea?
se crea en la memoria heap
229
que hay que hacer antes de utilizar la variable local?
inicializarla
230
que unico modifier pueden tener las variables locales?
solo final
231
las variables locales obtienen valores por defecto?
no, en cambio las instance variable si
232
es posible declarar una variable local con el mismo nombre de una variable de instancia?
si se puede se llama shadowing y se usa el keyword this.
233
que es un array?
es un objeto que almacena multiples variables de un MISMO tipo
234
que sera siempre el array, en que memoria?
sera siempre un objeto en el heap memory asi sea un array de primitivos
235
como se declaran los arrays? 2 pasos
1. se declara el tipo de elemento que alamcenara (object or primitives) 2. seguido de [ ] to either side of the identifier
236
como se declara un array de primitivos?
int [ ] keys //recommended | int keys [ ]
237
como se declara un array de object references?
Thread [ ] thread;//recommended | Thread thread []
238
como se declara un array de String de 3 dimensiones?
String [ ] [ ] [ ] OccupandName;
239
como se declara un array de dos dimensiones? de Strings
String [ ] ManagerName []
240
concha de mango: | es legal incluir el tamano del array en la declaracion? por ejemplo int [5] Scores;
no es legal, no compila, en otros lenguajes si se puede pero no en java
241
cuando la JVM asigna el espacio en memoria al array?
cuando se instancia no antes, por eso el tamano no importa en la declaraion
242
existen objetos finales?
no solo final reference
243
que hace el keyword final cuando se declara una variable?
que sea imposible reasignar el valor de la variable.
244
se puede heredar una clase final?
no, no se puede
245
se puede override un final method?
no se puede, los metodos finales no pueden ser override por la subclass
246
que es una variable TRANSIENT? modifier
le dice al JVM que skip o ignore esta variable cuando se intenta serializar
247
que es una variable VOLATIL? modifier
le dice a la JVM que un thread q accesa a la variable tiene que reconciliar su propia copia privada de la variable con la master copy en memoria.
248
a que se aploca el VOLATILE modifier?
solo a instance variables
249
para que se usa el static modifier?
para crear variables y metodos independientes de las instancias creadas para la clase
250
que se puede marcar como Static?
1) metodos 2) variables 3) a class nested within another class but not within a method. 4) initialization blocks
251
se puede marcar un constructor static?
no, no tiene sentido el constructor se usa para crear instancias
252
puedes marcar una clase static?
no, al menos que sea nested
253
se puede marcar un interface static?
no, unless they are nested
254
se puede marcar un local variables static?
no
255
se puede marcar un inner class methods statics?
no
256
se puede marcar instances variables static?
no
257
se puede marcar method local inner classes static?
no
258
como se declara un ENUM?
public enum EnumerationName{ CONSTANT_NAME_1, CONSTANT_NAME_2, CONSTANT_NAME_3, }
259
cuales son los componentes basicos del enum?
sus constantes
260
se puede declarar un enum en un metodo?
no se puede
261
la declaracion de enum puede ser privada?
no se puede
262
la declaracion de enum puede ser protected?
no se puede
263
que pasa con un enum que no esta encerrado en una clase?
se puede declarar solo con los modifiers public or default
264
cuales son las dos formas en las que se puede declarar los enums?
1) como su propia clase | 2) dentro de otra clase (enclosed)
265
como es el syntax para llamar al enum cuando esta en su propia clase y como es cuando no esta en su propia clase?
1) propia clase object.atributo = enumclassname.CONSTANT ex. drink.size = coffesize.BIG 2) se debe senalar la clase en la que esta enclosed. ex. drink.size =ClassName(Coffee2.).CoffeeSize.BIG
266
pueden los enums estar dentro del metodo main?
no se puede
267
se debe colocar un semicolon ; al final de la declaracion de los enum??? enum CoffeSize {BIG, HUGE, OVERWHELMING};
OJO no es opcional
268
se puede iterar a traves de los values de un emun?
si se puede, llamando al metodo values()
269
puedes llamar al constructor de un enum directamente?
no se puede
270
se puede definir mas de un argumento en el constructor de un enum?
si
271
se puede overload the enum constructor?
si se puede
272
que se conoce como member?
los metodos y las variables de instancias no locales
273
los miembros que nivel de acceso puede tener?
los 4 niveles de acceso public protected default and private
274
como se puede determinar los acceso de los miembros? hay dos formas
1) el codigo de una clase puede accesar el miembro de otra clase. 2) una subclase puede heredar el miembro de superclase
275
se puede accesar un miembro de una clase cuando la clase no puede ser accesada?
no se puede
276
que se determina primero la visibilidad de la clase o del miembro?
primero se deermina la visibilidad de la clase
277
que pasa con los miembros que se accesan sin el dot operator?
estan en la misma clase
278
a que se refiere dot this .this?
siempre se refiere al objeto que se esta ejecutando
279
this.aMethod() es lo mismo que llamar al metodo aMethod()?
si es lo mismo
280
quien accesa a los miembros privados?
solo el codigo en la misma clase
281
se pueden heredar private members?
no se pueden heredar porque no son VISIBLES a las subclases
282
quien puede accesar a los Default members?
solo las clases en el mismo paquete
283
quien puede accesar a los protected members?
otras clases en el mismo paquete y las subclases sin importar en el paquete que se encuentren
284
a que es igual protected?
protected = package + kids
285
cual es el unico mecanismo con el cual una sublcase fuera del paquete pueda accesar un miembro protected de su superclase?
solo la HERENCIA
286
cual es la excepcion del protected?
una vez heredado el miembro protected otras clases dentro del paquete no lo pueden ver, solo lo puede ver una subclase de la subclase.