Ups, falsche Area! Sorry...
[Edit by Beni: verschoben]
Ich habe folgende 2 Klassen bei mir in Eclipse...
und
Als Ergebnis soll eigentlich folgendes herauskommen:
Aber ich bekomme nur die ersten beiden Zeilen + Fehlermeldung heraus:
Liegt das evtl. daran das ich JDK1.6.0 benutze? Viell. könnte das o.g. ja mal jmd auf seinem Rechner ausprobieren. Für Hilfe zur Lösung dieses Problems wäre ich sehr dankbar!!
Gruß, Mac
[Edit by Beni: verschoben]
Ich habe folgende 2 Klassen bei mir in Eclipse...
Code:
package analyse;
public aspect Test
{
public static String Analyse.control(String message)
{
System.out.println(message + ": " + "Additional class method!");
return message;
}
}
und
Code:
package analyse;
import java.lang.reflect.*;
public class Analyse implements Runnable
{
private String attribute;
public String getAttribute()
{
return attribute;
}
public void setAttribute(String attribute)
{
this.attribute = attribute;
}
public Analyse()
{
this.attribute = " Analyse ... ";
}
public Analyse(String attribute)
{
this();
this.attribute = getAttribute() + attribute;
}
public void run()
{
try
{
Class c = Class.forName("analyse.Analyse");
Analyse i = (Analyse) c.newInstance();
Method[] m = c.getDeclaredMethods();
m[4].invoke(Analyse.control("No, no!"), new Object[]{" OK"});
System.out.println(i.getAttribute());
}
catch (ClassNotFoundException e)
{
System.out.println(
"Class not found exception: " + e);
}
catch (InstantiationException e)
{
System.out.println(
"Instantiation exception: " + e);
}
catch (IllegalAccessException e)
{
System.out.println(
"Illegal access exception: " + e);
}
catch (InvocationTargetException e)
{
System.out.println(
"Invocation target exception: " + e);
}
}
public static void main(String[] args)
{
Analyse o = new Analyse("Problem?");
new Thread(o).start();
System.out.println(o.getAttribute());
}
}
Als Ergebnis soll eigentlich folgendes herauskommen:
Analyse ... Problem?
No, no!: Additional class method!
OK: Additional class method!
Analyse ...
Aber ich bekomme nur die ersten beiden Zeilen + Fehlermeldung heraus:
Analyse ... Problem?
No, no!: Additional class method!
Exception in thread "Thread-0" java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at analyse.Analyse.run(Analyse.java:35)
at java.lang.Thread.run(Thread.java:619)
Liegt das evtl. daran das ich JDK1.6.0 benutze? Viell. könnte das o.g. ja mal jmd auf seinem Rechner ausprobieren. Für Hilfe zur Lösung dieses Problems wäre ich sehr dankbar!!
Gruß, Mac