Foros del Web » Programación para mayores de 30 ;) » Java »

Clases Java

Estas en el tema de Clases Java en el foro de Java en Foros del Web. Hola, estoy estudiando java para unas oposiciones y me he encontrado con una pregunta tipo test que no logro entender, es esta: class A{ class ...
  #1 (permalink)  
Antiguo 10/02/2016, 18:02
 
Fecha de Ingreso: enero-2010
Mensajes: 16
Antigüedad: 14 años, 3 meses
Puntos: 0
Clases Java

Hola, estoy estudiando java para unas oposiciones y me he encontrado con una pregunta tipo test que no logro entender, es esta:

class A{ class B extends A{
int a = 1; int b = 2;
public int f1(){ public int f1(){
return a; return a + b;
}}
B b = new B();
A a = b;
System.out.println(a.f1());

la salida segun el libro es "3";

No he programada en java, soy novato, pero creo que este código esta mal, no tiene sentido anidar una función en otra sin que la primera llame a la segunda. Tampoco creo que el segundo "return" sea alcanzable.
Pero, arreglándolo un poco, suponiendo que los "return" estén cada uno en una función, cómo podría hacer que esto funcione?, osea, como puedo acceder a un método de la clase B? se puede hacer una instancia desde la propia clase a instanciar y usar sus métodos? supongo que no pero ese es el código tal cual esta en el libro, esta claro, o eso creo yo, que hay errores pero, ¿alguien puede tener idea de lo que pretende este código? como se podría arreglar?

gracias!!! saludos!
  #2 (permalink)  
Antiguo 11/02/2016, 02:41
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Clases Java

Ese código tiene demasiadas cosas mal y no tiene ningún sentido, arreglarlo significaría hacer un código nuevo aunque ni siquiera sepamos qué intenta el código original. ¿Estás seguro de lo has copiado bien? hasta faltan llaves.

Código Java:
Ver original
  1. class A{
  2.     class B extends A{
  3.     int a = 1;
  4.     int b = 2;
  5.  
  6.     public int f1(){
  7.         public int f1(){
  8.         return a;
  9.         return a + b;
  10.         }
  11.     }
  12.     B b = new B();
  13.     A a = b;
  14.     System.out.println(a.f1());

Con respecto al resto de preguntas, si estudias un poco más tendrás la respuestas.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 11/02/2016, 06:41
 
Fecha de Ingreso: enero-2010
Mensajes: 16
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Clases Java

hola, sí, esta copiado tal cual. el libro es un desastre!!, faltan llaves, etc.... suponía que estaba fatal!! solo quería saber cual es la lección que debería sacar de la pregunta....es difícil aprender a programar sin programar, solo con la teoría....

salu2 y garcias
  #4 (permalink)  
Antiguo 11/02/2016, 07:07
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Clases Java

Yo en tu lugar me plantearía cambiar de libro...
__________________
Aviso: No se resuelven dudas por MP!
  #5 (permalink)  
Antiguo 11/02/2016, 12:15
 
Fecha de Ingreso: enero-2010
Mensajes: 16
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Clases Java

no hay otro!! es el temario de la administración del estado para técnicos auxiliares de informática.... si crees que debería cambiar de libro solo por esta pregunta imagina lo que pensarías si conocieras los "1000" fallos de todo tipo que he encontrado!!

saludos
  #6 (permalink)  
Antiguo 11/02/2016, 13:47
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Clases Java

Un temario lo único que hace es decir qué temas entran, con qué lo estudies es cosa tuya.

A mí desde luego no se me ocurriría estudiar por esos apuntes, está claro que están mal, a saber quién y cómo lo ha hecho. ¿Por qué no lees el temario, buscas algún libro/web de java y estudias lo que toca?

A lo mejor si posteas el temario o esos apuntes, te pueden orientar sobre qué te iría mejor.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #7 (permalink)  
Antiguo 11/02/2016, 16:55
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Clases Java

Por ejemplo, la saga de "Head First" suele estar muy bien. Lo explican todo de forma clara y desde cero. Mira a ver si encuentras el de Java porque para al menos tener las bases yo creo que te servirá.
__________________
Aviso: No se resuelven dudas por MP!
  #8 (permalink)  
Antiguo 12/02/2016, 01:10
 
Fecha de Ingreso: noviembre-2015
Mensajes: 23
Antigüedad: 8 años, 5 meses
Puntos: 2
Respuesta: Clases Java

Yo utilizaría algún libro que prepare para la certificación en Java 1z0-809, que incluya ejercicios resueltos, pero si necesitas una base yo te recomendaría Como programar en Java de Deitel.
Si el temario incluye Java EE necesitarías algún libro más.
  #9 (permalink)  
Antiguo 12/02/2016, 12:29
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Clases Java

Buenas,

Por lo que parece, con ese ejemplo el libro intenta de explicar de una forma muy torpe como funciona la herencia.

Por lo poco que conozco de esa oposicion, lo unico que necesitas son unas nociones generales del lenguaje y no conocerlo en profundidad http://www.adams.es/oposiciones/info...tica-estado/55

Por eso, lo que te recomiendo es no perder tiempo y tratar de reforzar los temas mas confusos como ese mediante tutoriales disponibles en internet. Por ejemplo, respecto a la herencia: http://aprenderaprogramar.com/index....ero&Itemid=188

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #10 (permalink)  
Antiguo 13/02/2016, 06:09
 
Fecha de Ingreso: enero-2010
Mensajes: 16
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Clases Java

hola, gracias por las respuestas!!

Decía que mi libro es el único porque no solo contiene el temario de la oposición sino que las propias bases de esta extraen el temario del libro, copiando epígrafe a epígrafe. De todos modos será mejor consultar otros libros!!! Tomo nota de los que me han recomendado!!
Sobre los enlaces del prfrsor_falke, el libro es precisamente de adams, el primer enlace. El segundo me ha gustado, esta bastante claro!! gracias...

xerelo, el tema va sobre c,c++,java,visual basic y c#, el de java es este:

comentarios, identificadores, variables, operadores, separadores, sentencias o expresiones, arrays y cadenas, clases en java, entrada/salida, herencia, clases abstractas, la clase object, interfaces, paquetes, hilos, interfaz gráfico awt, paseando por la red, sockets y el jdk.



saludos

Etiquetas: clase, clases, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:00.