Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: umadara en 07 de Julio 2016, 18:49

Título: Qué es o qué significado tiene el modificador de acceso default en Java CU00677B
Publicado por: umadara en 07 de Julio 2016, 18:49
Hola, os dejo otro ejercicio que considero interesante y me ha generado unas cuantas dudillas. Ejercicio CU00677B del curso práctico de programación en Java desde cero.


Busca información en la documentación oficial de Java sobre la interface Iterable. ¿Qué clases de las que conoces implementan esta interface?

La única que yo he utilizado es  ArrayList.


¿Qué método han de tener disponible las clases que implementan esta interface?

Aqui salta la duda, yo gasto java 8, para java 8 la interfaz Iterable dispone de 3 métodos

(http://es.zimagez.com/miniature/capturadepantalla2016-07-07alas183649.png) (http://es.zimagez.com/zimage/capturadepantalla2016-07-07alas183649.php)
que son los que se ven en la imagen anterior. Mis dudas son:

-Diferencia entre Abstract methods y default methods.

-¿El que no funcionen los métodos default en el blueJ se debe a la versión de BlueJ?

¿Para qué sirve este método?

forEach(Consumer<? super T> action)

Lleva a cabo la acción indicada para cada elemento iterable hasta que todos los elementos han sido procesados ​​o la acción produce una excepción .

iterator()

Devuelve una iteración de los elementos del tipo indicado

spliterator()

Crea un Spliterator sobre los elementos descritos por esta iterable .
Título: Re:Qué es o qué significado tiene el modificador de acceso default en Java CU00677B
Publicado por: Mario R. Rancel en 14 de Julio 2016, 17:45
Buenas tardes

El modificador de acceso "default" debe entenderse como modificador por defecto según se explica en la entrega CU00693B del curso, hasta que no llegues a esa entrega no debes preocuparte por conocer el significado.

Los métodos abstractos también se explican más adelante en el curso, en concreto en la entrega CU00695B del curso, y tampoco debes preocuparte por ello ahora.

El método forEach de esta interface podemos decir que es un método avanzado y que solo debe usarse cuando se comprenda bien el por qué y para qué. Como indica la descripción sirve para recorrer los elementos de una colección, pero antes que usar este método en general es preferible usar las formas de recorrido que se explican en el curso.

En BlueJ deben funcionar todos los métodos igual que en cualquier otro IDE (entorno de desarrollo).

Saludos