Este documento presenta información sobre clases internas en Java. Explica las diferencias entre clases internas regulares, locales a un método y anónimas. También cubre temas como cómo instanciar clases internas, el uso de this y cómo pueden acceder a miembros de la clase externa. Por último, introduce el concepto de clases internas estáticas anidadas y sus características.
Slides de la tercera clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Unidad 3: Asignaciones
Slides de la sexta clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Collections
Slides de la quinta clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. if, while, for, enhanced for.
2. break y continue
3. Exceptions
4. Assertions
Slides de la tercera clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Ejemplos de Enum
2. Unidad 2: POO
Slides de la cuarta clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Operadores
SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...flekoso
Slides de la primera clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Introducción a SCJP
2. Introducción a Java
3. Unidad 1: Declaración y Control de Acceso
Slides de la tercera clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Unidad 3: Asignaciones
Slides de la sexta clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Collections
Slides de la quinta clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. if, while, for, enhanced for.
2. break y continue
3. Exceptions
4. Assertions
Slides de la tercera clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Ejemplos de Enum
2. Unidad 2: POO
Slides de la cuarta clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Operadores
SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...flekoso
Slides de la primera clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Introducción a SCJP
2. Introducción a Java
3. Unidad 1: Declaración y Control de Acceso
Introducción al trabajo con Java Persistence Api (JPA), conceptos básicos y ejemplo aplicado a una tabla posts con los siguientes campos: post_id, post_title, post_date, post_body utilizando netbeans
Charla introductoria al lenguaje Python dictada por Julián Cardonnet, en el marco de los festejos del Software Freedom Day 2009 en la ciudad de Tandil, Argentina
Slides de la novena clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Thread y Runnable
2. Planificación
3. Sincronización
Introducción al trabajo con Java Persistence Api (JPA), conceptos básicos y ejemplo aplicado a una tabla posts con los siguientes campos: post_id, post_title, post_date, post_body utilizando netbeans
Charla introductoria al lenguaje Python dictada por Julián Cardonnet, en el marco de los festejos del Software Freedom Day 2009 en la ciudad de Tandil, Argentina
Slides de la novena clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Thread y Runnable
2. Planificación
3. Sincronización
Cultura Libre: Origenes, Definiciones y Alcancesflekoso
Charla sobre cultura libre dictada por Enzo Ferrante y Lucas Corrales, en el marco de los festejos del Software Freedom Day 2009 en la ciudad de Tandil, Argentina
Contenido:
Software Libre
Cultura Libre
Libros Libres
Música Libre
Ámbito Estatal
Ámbito Universitario
Slides de la décima clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. String
2. StringBuilder/Buffer
3. Archivos
Charla introductoria al lenguaje Ruby dictada por Manuel Corrales, en el marco de los festejos del Software Freedom Day 2009 en la ciudad de Tandil, Argentina
Introducción a JavaFX 1.2
Un vistazo a esta nueva plataforma, sus principales características y componentes.
Las demos que figuran en las slides pueden encontrarlas en:
- Effects Playground: http://javafx.com/samples/EffectsPlayground/index.html
- Photo Flockr: http://javafx.com/samples/PhotoFlockr/index.html
- Indaba Session Console: www.indaba.com (requiere registrarse en el sitio)
- Mosaic: http://javafx.com/samples/Mosaic/index.html
- Video Box: http://www.javafx.com/launch/archive/video3.jsp
- Video Box (II) http://www.javafx.com/launch/archive/video5.jsp
- CloudDVR: http://www.javafx.com/launch/archive/video6.jsp
- HelloWorldAnimated: http://blogs.sun.com/Argentina_ambassador/resource/HalloWorldAnimated.zip
Índice del nuevo libro de 0xWord dedicado al mundo del hacking de los sistemas operativos OSX/macOS de Apple. Desde la configuración de seguridad a la explotación de vulnerabilidades. Más información en http://0xword.com/es/libros/91-macos-hacking.html
Slides del taller homonimo dictado durante las Jornadas del Sur 2009, en Bahía Blanca, Argentina, los días 15 a 17 de Agosto de 2009.
El taller se centró en enseñar lo básico del funcionamiento de una computadora, y como se llega hoy día a los lenguajes de alto nivel. Luego, se explicaron los conceptos básicos de la programación utilizando el lenguaje Java. Finalmente, se dio un vistazo a algunas aplicaciones orientadas a la enseñanza de Java en colegios secundarios, como Alice, BlueJ y Greenfoot
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...AMADO SALVADOR
El catálogo general de electrodomésticos Teka presenta una amplia gama de productos de alta calidad y diseño innovador. Como distribuidor oficial Teka, Amado Salvador ofrece soluciones en electrodomésticos Teka que destacan por su tecnología avanzada y durabilidad. Este catálogo incluye una selección exhaustiva de productos Teka que cumplen con los más altos estándares del mercado, consolidando a Amado Salvador como el distribuidor oficial Teka.
Explora las diversas categorías de electrodomésticos Teka en este catálogo, cada una diseñada para satisfacer las necesidades de cualquier hogar. Amado Salvador, como distribuidor oficial Teka, garantiza que cada producto de Teka se distingue por su excelente calidad y diseño moderno.
Amado Salvador, distribuidor oficial Teka en Valencia. La calidad y el diseño de los electrodomésticos Teka se reflejan en cada página del catálogo, ofreciendo opciones que van desde hornos, placas de cocina, campanas extractoras hasta frigoríficos y lavavajillas. Este catálogo es una herramienta esencial para inspirarse y encontrar electrodomésticos de alta calidad que se adaptan a cualquier proyecto de diseño.
En Amado Salvador somos distribuidor oficial Teka en Valencia y ponemos atu disposición acceso directo a los mejores productos de Teka. Explora este catálogo y encuentra la inspiración y los electrodomésticos necesarios para equipar tu hogar con la garantía y calidad que solo un distribuidor oficial Teka puede ofrecer.
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaAMADO SALVADOR
Descubra el catálogo completo de buzones BTV, una marca líder en la fabricación de buzones y cajas fuertes para los sectores de ferretería, bricolaje y seguridad. Como distribuidor oficial de BTV, Amado Salvador se enorgullece de presentar esta amplia selección de productos diseñados para satisfacer las necesidades de seguridad y funcionalidad en cualquier entorno.
Descubra una variedad de buzones residenciales, comerciales y corporativos, cada uno construido con los más altos estándares de calidad y durabilidad. Desde modelos clásicos hasta diseños modernos, los buzones BTV ofrecen una combinación perfecta de estilo y resistencia, garantizando la protección de su correspondencia en todo momento.
Amado Salvador, se compromete a ofrecer productos de primera clase respaldados por un servicio excepcional al cliente. Como distribuidor oficial de BTV, entendemos la importancia de la seguridad y la tranquilidad para nuestros clientes. Por eso, trabajamos en colaboración con BTV para brindarle acceso a los mejores productos del mercado.
Explore el catálogo de buzones ahora y encuentre la solución perfecta para sus necesidades de correo y seguridad. Confíe en Amado Salvador y BTV para proporcionarle buzones de calidad excepcional que cumplan y superen sus expectativas.
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaAMADO SALVADOR
Distribuidor Oficial Ariston en Valencia: Amado Salvador distribuidor autorizado de Ariston, una marca líder en soluciones de calefacción y agua caliente sanitaria. Amado Salvador pone a tu disposición el catálogo completo de Ariston, encontrarás una amplia gama de productos diseñados para satisfacer las necesidades de hogares y empresas.
Calderas de condensación: Ofrecemos calderas de alta eficiencia energética que aprovechan al máximo el calor residual. Estas calderas Ariston son ideales para reducir el consumo de gas y minimizar las emisiones de CO2.
Bombas de calor: Las bombas de calor Ariston son una opción sostenible para la producción de agua caliente. Utilizan energía renovable del aire o el suelo para calentar el agua, lo que las convierte en una alternativa ecológica.
Termos eléctricos: Los termos eléctricos, como el modelo VELIS TECH DRY (sustito de los modelos Duo de Fleck), ofrecen diseño moderno y conectividad WIFI. Son ideales para hogares donde se necesita agua caliente de forma rápida y eficiente.
Aerotermia: Si buscas una solución aún más sostenible, considera la aerotermia. Esta tecnología extrae energía del aire exterior para calentar tu hogar y agua. Además, puede ser elegible para subvenciones locales.
Amado Salvador es el distribuidor oficial de Ariston en Valencia. Explora el catálogo y descubre cómo mejorar la comodidad y la eficiencia en tu hogar o negocio.
2. Disclaimer & Acknowledgments
> Even though Ezequiel Aranda is a full-time employee of Sun
Microsystems, the contents here are created as his own
personal endeavor and thus does not reflect any official
stance of Sun Microsystems.
> Sun Microsystems is not responsible for any inaccuracies in
the contents.
> Acknowledgments – The slides of this presentation are made
from “SCJP Unit 8” by Warit Wanwithu and Thanisa
Kruawaisayawan and SCJP Workshop by P. Srikanth.
> This slides are Licensed under a Creative Commons
Attribution – Noncommercial – Share Alike 3.0
> http://creativecommons.org/licenses/by-nc-sa/3.0/
3. AGENDA
> enerics Vs. Arrays
G
> lases internas
C
> lases internas “regulares”
C
> lases internas locales a un método
C
> lases internas anónimas
C
> lases estáticas anidadas
C
5. Generics Vs. Arrays (II)
public void checkAnimals(ArrayList<Animal>
animals){
for(Animal a : animals) {
a.checkup();
}
}
doc.checkAnimals(dogs); // dogs: List<Dog>
doc.checkAnimals(cats); // cats: List<Cat>
doc.checkAnimals(birds); // birds: List<Bird>
> Porqué no funciona?
¿
> Cómo solucionarlo?
¿
6. Generics Vs. Arrays (III)
Animal[] animals = new Animal[3];
animals[0] = new Cat();
animals[1] = new Dog();
List<Animal> animals = new
ArrayList<Animal>();
animals.add(new Cat()); // OK
animals.add(new Dog()); // OK
> sto funciona con ambos, Arrays y Generics.
E
7. Generics Vs. Arrays (IV)
> unciona siempre:
F
public void addAnimal(Animal[] animals) {
animals[0] = new Dog(); Animal[]
}
> unciona a veces:
F
public void addAnimal(ArrayList<Animal>
animals) {
animals.add(new Dog());
}
8. Generics Vs. Arrays (V)
> a razón por la cual es peligroso pasar como
L
parámetro una colección de un subtipo es
porque podríamos agregar algo erróneo en la
colección (o en el Array).
9. Generics Vs. Arrays (VI)
public void foo() {
Dog[] dogs = {new Dog(), new Dog()};
addAnimal(dogs);
}
public void addAnimal(Animal[] animals) {
animals[0] = new Dog();
}
> sto funciona perfectamente, y es correcto.
E
10. Generics Vs. Arrays (VII)
public void foo() {
Cat[] cats = {new Cat(), new Cat()};
addAnimal(cats);
}
public void addAnimal(Animal[] animals) {
animals[0] = new Dog();
}
> cabamos de poner un gato en un Array de
A
perros.
11. Generics Vs. Arrays (VIII)
> in embargo, y a diferencia que realizando
S
el mismo ejemplo con colecciones
parametrizadas, el código anterior, compila
> o que permite que compile es la existencia
L
de la excepción ArrayStoreException, que
previene que se de el problema visto
anteriormente en tiempo de ejecución.
12. Generics Vs. Arrays (IX)
> ero no existe un equivalente
P
a esta excepción para
colecciones, debido a que las
parametrizaciones se eliminan
en tiempo de ejecución.
> s decir, la JVM conoce el tipo de los Arrays
E
en tiempo de ejecución, pero no el tipo de
una colección.
13. Codificando una inner class “regular”
> lamamos regulares a las clases internas que
L
no son:
> státicas
E
> ocales a un método
L
> nónimas
A
> na inner class regular no puede tener
U
declaraciones estáticas de ningún tipo
> a única forma de acceder a la clase interna
L
es a través de una instancia de la clase
externa.
14. class MyOuter {
private int x = 7;
class MyInner {
public void seeOuter() {
System.out.println(quot;Outer x is
quot; + x); }}
}
> ste código es perfectamente legal. Nótese
E
que la clase interna esta accediendo a un
miembro privado de la clase externa. Esto es
correcto, dado que la clase interna es un
miembro de la clase externa también.
15. Instanciando una clase interna
> esde el interior de la clase externa:
D
MyInner mi = new MyInner();
> esde el exterior de la clase externa
D
(incluyendo código de métodos estáticos
dentro de la clase externa):
MyOuter.MyInner
> ara instanciar un objeto de la clase interna
P
debemos usar una referencia a la clase
externa:
obj = new MyOuter().new MyInner();
u outerObjRef.new MyInner();
16. this
> this” es una referencia al objeto que esta en
“
ejecución actualmente.
public void myMethod() {
MyClass mc = new MyClass();
mc.doStuff(this);
}
17. Haciendo referencia a la instancia de la clase
interna/ externa desde la clase interna
class MyOuter {
private int x = 7;
class MyInner {
public void seeOuter() {
System.out.println(quot;Outer x is quot;+ x);
System.out.println(quot;Inner class ref is
” + this);
System.out.println(quot;Outer class ref is
” + MyOuter.this);
}
}
}
18. Clases internas locales a un método
class MyOuter2 {
private String x = quot;Outer2quot;;
void doStuff() {
class MyInner {
public void seeOuter() {
System.out.println(quot;Outer x is quot; + x);
}
}
MyInner mi = new MyInner();
mi.seeOuter(); }
}
19. Que puede y que no puede hacer una clase
local a un método
> efiniendo una clase interna dentro de un
D
método, solo podremos crear objetos de esa
clase dentro del método.
> uede ser una clase abstracta.
P
> o puede tener métodos o atributos estáticos
N
salvo que la clase interna sea estática
también.
20. Que puede y que no puede hacer una
clase local a un método (II)
> uede acceder a las variables de la clase
P
externa.
> o puede acceder a las variables locales al
N
método.
> alvo que sean declaradas “final”
S
> os únicos modificadores que podemos
L
aplicar a una clase interna local a un método
son “abstract” y “final”.
> omo siempre, no podemos aplicar los dos al
C
mismo tiempo.
21. Que puede y que no puede hacer una
clase local a un método (III)
class MyOuter2 {
private String x = quot;Outer2quot;;
void doStuff() {
String z = quot;local variablequot;;
class MyInner {
public void seeOuter() {
System.out.println(quot;Outer x is quot; + x);
System.out.println(quot;Local variable z
isquot;+ z);
// Esto no compila. Dado que se accede a z desde la
clase interna, z debe ser declarada final.
} } } }
22. Clases internas anónimas
class Popcorn {
public void pop() {
System.out.println(quot;popcornquot;);
}
}
class Food {
Popcorn p = new Popcorn() {
public void pop() {
System.out.println(quot;anonymous popcornquot;);
}
}; // debe colocarse un punto y coma aquí
}
> La variable p no hace referencia a una instancia de
Popcorn, sino a una instancia de una subclase
anónima de Popcorn.
23. class Popcorn {
public void pop() {
System.out.println(quot;popcornquot;);
}
}
class Food {
Popcorn p = new Popcorn() {
public void sizzle() {
System.out.println(quot;anonymous sizzling
popcornquot;);
}
public void pop() {
System.out.println(quot;anonymous popcornquot;);
}
};
public void popIt() {
p.pop(); // OK
p.sizzle(); //KO ¿Porqué no funciona?
}}
24. Clases internas anónimas:
implementando una interfaz
interface Cookable {
public void cook();
}
class Food {
Cookable c = new Cookable() {
public void cook() {
System.out.println(quot;anonymous cookable
implementerquot;);
}
}; Nota: no existe un mecanismo para implementar mas
} de una interfaz de esta forma
25. class MyWonderfulClass { Clases internas anónimas:
void go() { clases definidas en
Bar b = new Bar(); argumentos
b.doStuff(new Foo() {
public void foof() {
System.out.println(quot;foofyquot;);
} // fin foof
}); //fin inner class y declaración del método
} // fin go()
} // fin class
interface Foo {
void foof();
}
class Bar {
void doStuff(Foo f) { }
}
26. Clases estáticas anidadas
class BigOuter {
static class Nest {
void go(){System.out.println(quot;hiquot;); } }
}
class Broom {
static class B2 {
void goB2(){System.out.println(quot;hi 2quot;); }
}
public static void main(String[] args) {
BigOuter.Nest n = new BigOuter.Nest();
n.go();
B2 b2 = new B2();
b2.goB2(); }}
27. Clases estáticas anidadas (II)
> Las clases no son exactamente “estáticas”. No existe
tal cosa.
> En este caso el modificador “static” indica que la
clase interna es un miembro estático de la clase
externa.
> Esto quiere decir que podemos acceder al mismo sin
la necesidad de crear una instancia de la clase
externa.
> No puede acceder a los miembros de la clase
externa de la misma forma que lo haría una clase
interna (exceptuando a los estáticos, claro está).