Java - duda declarando una clase en java

 
Vista:
sin imagen de perfil
Val: 29
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

duda declarando una clase en java

Publicado por Nicolás (16 intervenciones) el 09/01/2018 17:36:54
Tengo una duda con la estructura de una clase en java. Puede haber una clase dentro de otra clase?, algo así como:
1
2
3
4
5
class [nombre de la clase] {
    [atributos o variables de la clase]
    [clase]
    [métodos o funciones de la clase]
    [main]
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Miguel
Val: 4
Ha disminuido su posición en 11 puestos en Java (en relación al último mes)
Gráfica de Java

duda declarando una clase en java

Publicado por Miguel (1 intervención) el 09/01/2018 21:51:19
Si se podría, con una clase interna encapsulada con un modificador de acceso

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#MAIN{
 
#INSTANCIAR OBJETOS DE CLASES SUPER CLASE, SUBCLASE O CLASE INTERNA Y EJECUCION DE CODIGO
}
 
class[nombre de la clase]{
 
#DECLARACION DE VARIABLES
 
        private class [nombre de la clase interna]{
 
        #METODOS Y FUNCIONES
 
        }
 
}

PD no soy experto, pero hace poco que hago esto y es bastante comun para mi encapsular y crear clases internas.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

duda declarando una clase en java

Publicado por Tom (1561 intervenciones) el 10/01/2018 10:15:06
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 29
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

duda declarando una clase en java

Publicado por Nicolás (16 intervenciones) el 10/01/2018 15:29:05
Una consulta más, los métodos que se pueden ocupar en java son solo cuatro, verdad?:
1. Un constructor (que tiene el mismo nombre de la clase)
2. Método con void (no devuelve nada)
3. Método con retorno (en vez de void, lleva el tipo de dato que se retorna en el encabezado del método)
4. El método que ejecuta el programa de java (public static void main(String s[]) {})

aparte de los atributos y de las posibles clases anidadas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Pedro
Val: 316
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

duda declarando una clase en java

Publicado por Pedro (102 intervenciones) el 10/01/2018 20:12:57
Una Clase es una envoltura ,es como un molde para crear cosas que llamamos objetos pudiendo ser Abstracciones de la vida real o no.
Un Constructor es para construir ¿Qué? Pues para construir los objetos en memoria.
Un Método es similar a una función, pudiendo ser interfaces de comunicación con el Objeto.
Un Método puede ser Void por consiguiente realiza algo y no retorna ningún valor.
Un Método que no sea void debe devolver un tipo de dato y debe ser indicado
El Método Main es el método principal que debe llevar cualquier programa para poder iniciarse.

Y finalmente los modificadores de acceso indican quien y de que forma se puede acceder a las Clases y Métodos.

Ejemplo:
Perro objetoPerro = new Perro();
Con el ejemplo de arriba y traduciéndolo al idioma humano sería asi:
Del molde||Clase Perro creáme un objeto en memoria llamado objetoPerro
Cuando llamas con new Perro() estás llamando al método constructor que se llama como la Clase y que sirve para reservar el espacio de memoria para ese nuevo Objeto creado.

Te he soltado el rollo de arriba para que comprendas la diferencia entre un método y un método constructor

Regards
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 29
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

duda declarando una clase en java

Publicado por Nicolás (16 intervenciones) el 11/01/2018 15:25:08
Muchas gracias Pedro. Solo una duda más; ¿puede un método ser declarado sin modificador de acceso?, por ejemplo:
1
2
void buscador() {
}
o
1
2
int resta(){
}
si es posible declarar un método así ¿tendrían un valor de modificador de acceso predeterminado?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 429
Bronce
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

duda declarando una clase en java

Publicado por Andrés (340 intervenciones) el 11/01/2018 15:53:36
Así es, el default, lo que significa que sólo las clases del mismo paquete podrían invocarlos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda declarando una clase en java

Publicado por Tom (1561 intervenciones) el 11/01/2018 17:42:55
Insisto. Hay que leer.

https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

No hay tipo de acceso default . Es package-private.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 429
Bronce
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

duda declarando una clase en java

Publicado por Andrés (340 intervenciones) el 11/01/2018 20:43:46
Deja le reclamo a Kathy :)


Screenshot-from-2018-01-11-13-41-30

Bert Bates, Kathy Sierra, OCA Java SE 8 Programmer I Exam Guide (Exams 1Z0-808), 9781260011388, 2017
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda declarando una clase en java

Publicado por Tom (1561 intervenciones) el 12/01/2018 10:45:39
Pues me como mis palabras. Pero nunca había visto en la documentación oficial de java, llamar "default" al "package-private" ("default" no es, por supuesto, lo mismo que "by default").

Salud!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Pedro
Val: 316
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

duda declarando una clase en java

Publicado por Pedro (102 intervenciones) el 11/01/2018 20:15:49
Hola @Nicolás hasta lo que estudié el año pasado si no declaras el modificador Java lo interpreta como una especie de Public, pero un Public puede ser accedido desde dentro y fuera del package. Sin embargo al no declarar el modificador Java lo interpreta como un Public especial sólo accesible desde dentro del package en donde se encuentra dicha Clase. Lo que te ha indicado el compañero @Andrés es lo que a mi me han enseñado.

Al igual que si no declaras un método constructor Java cuando compila genera un constructor digámoslo así default que no es otra cosa que un método con el mismo nombre que la Clase y sin parámetros.

Regards y un placer poder ayudar en un lenguaje de programación que me apasiona desde que lo conocí en 2014, aunque debo de profundizar mucho más en él.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 4
Ha disminuido su posición en 11 puestos en Java (en relación al último mes)
Gráfica de Java

duda declarando una clase en java

Publicado por Trinidad (2 intervenciones) el 02/02/2018 08:32:01
Hola! aquí en este vídeo te explican demasiado bien, míralo, allí aprendido bastantes cosas en sólo 1 mes viendo el curso, y claro, estudiando diario.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar