public class TV {
public int volume=1;
public void setVolume(int volume){
this.volume=volume;
}
} class tv extends TV{
public static void main(String args[]){
tv KONKA=new tv();
System.out.println(KONKA.volume);
KONKA.setVolume(9);
System.out.println(KONKA.volume);
}
}以上代码在eclipse里面没有报错,但是执行的时候提示错误:
java.lang.NoClassDefFoundError: TV (wrong name: tv)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Exception in thread "main"
麻烦大家看下错在哪里?
tv.javaclass TVF {
public int volume=1;
public void setVolume(int volume){
this.volume=volume;
}
}public class tv extends TVF{
public static void main(String args[]){
tv KONKA=new tv();
System.out.println(KONKA.volume);
KONKA.setVolume(9);
System.out.println(KONKA.volume);
}
}
当然有了,Java是严格区分大小写的。String a,A;是两个变量
奇怪了,只要换个类名就行了。例如只要把父类类名有TV改成TV3就行了。
Java明明是区分大小写的啊 ?!public class tv extends TV3{
public static void main(String args[]){
tv KONKA=new tv();
System.out.println(KONKA.volume);
KONKA.setVolume(9);
System.out.println(KONKA.volume);
}
}class TV3 {
public int volume=1;
public void setVolume(int volume){
this.volume=volume;
}
}
你新建的是tv啊,这有什么奇怪的楼主新建的是tv,而他的类叫TV,那当然是不行的