![]() |
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 |
A.Bs b2 = a1.new Bs(-11); --------------> aqui esta el ERROR quita el --->al |
Quitandole el a1 me arroja el siguiente error imposible resolver el símbolo: clase Bs de clase ClasesIntStatic |
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. |
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.