class TestThread extends Thread { private String whoami;
private long delay; public TestThread(String s, long d) {
whoami = s;
delay = d;
} @Override
public void run() {
try {
sleep(delay);
} catch (InterruptedException e) {
} System.out.println("Hello World!" + whoami + "" + delay);
}
}
public class testthread { public static void main(String args[]) {
TestThread t1, t2, t3; t1 = new TestThread("Thread1", 1000);
t2 = new TestThread("Thread2", 2000);
t3 = new TestThread("Thread3", 3000); t1.start();
t2.start();
t3.start();
}
} //有错,请问怎么改??
private long delay; public TestThread(String s, long d) {
whoami = s;
delay = d;
} @Override
public void run() {
try {
sleep(delay);
} catch (InterruptedException e) {
} System.out.println("Hello World!" + whoami + "" + delay);
}
}
public class testthread { public static void main(String args[]) {
TestThread t1, t2, t3; t1 = new TestThread("Thread1", 1000);
t2 = new TestThread("Thread2", 2000);
t3 = new TestThread("Thread3", 3000); t1.start();
t2.start();
t3.start();
}
} //有错,请问怎么改??
whoami = s;
delay = d;
}
添加一句:
super(whoami);
放在whoami=s;之前
TestThread没有构造前,不能调用whoami的呀。。
private long delay; public TestThread(String s, long d) {
whoami = s;
delay = d;
} @Override
public void run() {
try {
sleep(delay);
} catch (InterruptedException e) {
} System.out.println("Hello World!" + whoami + "" + delay);
}
}public class Test { public static void main(String args[]) {
TestThread t1, t2, t3; t1 = new TestThread("Thread1", 1000);
t2 = new TestThread("Thread2", 2000);
t3 = new TestThread("Thread3", 3000); t1.start();
t2.start();
t3.start();
}
}
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at hello.testthread.main(testthread.java:36)
Java Result: 1我编译也没有问题,在NB下面测试的。
搞错了。。
是super(s);
我开始也觉得是没有构造的超类的问题,加上去了,还是错。Exception in thread "main" java.lang.NoClassDefFoundError: hello/TestThread (wrong name: hello/testthread)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at hello.testthread.main(testthread.java:36)
Java Result: 1
你的文件名是testthread.java吗、确定了再说。
类文件名也重新编译一下!!!
类文件名也重新编译一下!!!