Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   error programa java con new (http://www.forosdelweb.com/f45/error-programa-java-con-new-214080/)

lis 30/06/2004 16:49

error programa java con new
 
tengo el siguiente codigo
class ClasesIntStatic {
public static void main(String [] arg) {
A a1=new A(11), a2=new A(12);
println("a1.i="+ a1.i + " a2.i="+ a2.i);
A.Bs b1 = new A.Bs(-10);
A.Bs b2 = a1.new Bs(-11); --------------> aqui esta el ERROR
println("b1.j=" + b1.j + " b2.j=" + b2.j);
b1.printBs();
b2.printBs();
a1.printA(b1);
a1.printA(b2);
}
public static void println(String str) {System.out.println(str);}
}

class A {
int i = 1;
static int is = -1;
public A(int i) {this.i = i;}
public void printA(Bs unBs) {
System.out.println("i=" + i + " unBs.j=" + unBs.j);
}
static class Bs {
int j = 2;
public Bs(int j) {this.j = j;}
public void printBs() {
System.out.println(" j=" + j + " is=" + is);
}
}
}
el error es el siguiente: nombre completo de la clase estática

ManDraKo 02/07/2004 23:29

A.Bs b2 = a1.new Bs(-11); --------------> aqui esta el ERROR


quita el --->al

lis 03/07/2004 11:23

Quitandole el a1 me arroja el siguiente error
imposible resolver el símbolo: clase Bs de clase ClasesIntStatic

Fulanitodetal2 06/07/2004 04:21

Bueno, no se si te servirá esta solución, pero... espero que sí.
En principio es muy simple:


Cambia la línea:
A.Bs b2 = a1.new Bs(-11); --------------> aqui esta el ERROR
por esta otra:
A.Bs b2 = new A.Bs(-11);

Explicación:

Al ser a1 una instancia de la clase A (A a1=new A(11)), creo que sería equivalente poner el código de arriba (A.Bs b2 = new A.Bs(-11)).

No sé si es esto lo que querías hacer. Al menos, ahora funciona y no da error.
Si es lo que querías hacer y quieres una explicación más profunda, avisa.

lis 06/07/2004 09:21

Al cambiarla me arroja el siguiente valor en b2.printBs(); //j=-11 y debería ser -20, por lo menos así dice el libro.
Gracias
Elisa


La zona horaria es GMT -6. Ahora son las 23:31.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.