Compilar un *.java a *.class (el *.java contiene errores)

Iniciado por Lopardo, 12 Noviembre 2006, 17:25 PM

0 Miembros y 1 Visitante están viendo este tema.

Lopardo

Hola.

Como logro compilar un .java que contiene errores?... En realidad el codigo no contiene errores,  lo que pasa es que este hace referencia a clases que no se encuentran en el paquete, pero eso no importa porque luego las voy a añadir.

En esencia es esto lo que quiero hacer:

Tengo esta clase:

class clase01
  {
    public static void main(String args[])
      {
        clase02 ob = new clase02();
        ob.imprimir();
      }
  }

Pero esta no la tengo:

class clase02
{
   void imprimir()
     {
       System.out.println("Esto es un ejemplo");     
     }
}

Si trato de compilar la clase01 esto daría error, ya que no encontraria clase02.class (el cual contiene el metodo imprimir invocado por la clase01).

de aqui surge mi pregunta.. Como logro compilar la clase01 sin que la clase02 este presente.

Saludos...
...de la sabiduría.

SeniorX

Quizas me equivoco pero si tienes un metodo main, no puede compilar como clase, ya que tiene punto de entrada y salida.

Pero para compilar una clase es cosa de ir file/ new proyect/ new class library.
try {
     live();
}
catch (ShitHappensException ex) {
MessageBox.Show(ex.Solution)
}

Precaución: La programacion puede producir adiccion

Lopardo

Ok.. Pero al compilarlo me diría que no se encuentra la clase a la cual se hace referencia..

Osea lo que quiero es que lo compile asi tenga errores. Me supongo que si creo una class library no me va a permitir compilar con errores.

saludos
...de la sabiduría.

Ragnarok

Entre las normas está poner el código entre las etiquetas de código, como la firma de SeniorX.

Que yo sepa no lo vas a poder compilar sin esa clase, a menos que la utilices como una dll, pero al menos tendrías que tener el interfaz si no me equivoco. Puedes hacer un prototipo de la clase con métodos que no hagan nada en realidad y sin miembros para que te deje compilar.
No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones

Casidiablo

CitarPuedes hacer un prototipo de la clase con métodos que no hagan nada en realidad y sin miembros para que te deje compilar.

Exacto!!! Sin el archivo que te falta olvidate de compilar eso, java no lo permite.

Saludos!!!

Lopardo

Es buena idea. Pero cuando se trata de muchos metodos y muchas clases.. Resultaría un poco trabajoso hacer un prototipo de ellas...

Bueno continuaré buscando como hacerlo, debe existir una forma..

Saludos.
...de la sabiduría.

Lopardo

Decompile una de las clases de un programa y me he enterado que tiene metodos con el mismo nombre. Como es posible esto?... es más o menos lo que pregunto. es decir eso deberia dar error.
...de la sabiduría.

Ragnarok

Eso se llama "sobrecarga", mientras los argumentos sean distintos no pasa nada.
No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones

Casidiablo

Como lo ha dicho Ragnarok se llama sobrecarga y tiene muchas ventajas... ya que permite manejar con el mismo nombre de funcion diferentes tipos y catidades de parámetros. Tambien se puede utlizar en constructores proporcionando grandes ventajas.

Saludos!!!

Lopardo

Si eso lo se..Pero me refiero a que tienen los mismos parametros...

No son asi... (asi no da error, es como dicen ustedes estan sobrecargados)

public void metodo1(int a){...}

public void metodo1(int a, int b){...}

son algo asi..

public void metodo2(int a){...}
public void metodo2(int a){...}

o

public int metodo2(int a){...}
public void metodo2(int a){...}

Osea me supongo que esto esta mal.. Porque como es lógico a la hora de llamar uno de estos metodos no se podrá distinguir a quien llaman...

Algo así es lo que esta en el .class que decompile... como es posible que lograron compilar algo asi.

Si quieren se lo paso para que lo vean... (el .class)
...de la sabiduría.