当前位置: 代码迷 >> Java相关 >> [求助]一个困惑的问题
  详细解决方案

[求助]一个困惑的问题

热度:218   发布时间:2006-07-05 17:11:34.0
[求助]一个困惑的问题

import java.io.*;
class MethodOverloading{
void receive(int i) {
System.out.println("Receive one int data");
System.out.println("i="+i);
}
void receive(int x, int y) {
System.out.println("Receive two int datas");
System.out.println("x="+x+" y="+y);
}
}
public class MethodOverloadingTest{
public static void main(String args[]) {
MethodOverloading mo=new MethodOverloading();
mo.receive(1);
mo.receive(2,3);
}
}
如上面的代码,在DOS可以顺利编译并执行。可是在JB2005就报:“
java.lang.NoClassDefFoundError: MethodOverloadingTest
Exception in thread "main"
”这样的错误

搜索更多相关的解决方案: 困惑  

----------------解决方案--------------------------------------------------------
把它设为public 的试试看,然后把它放在MethodOverloadingTest.java里
----------------解决方案--------------------------------------------------------

我在public前换了一行,就可以编译了。可是:
import java.io.*;
class SuperClass{
int x;
SuperClass( ){
x=3;
System.out.println("in SuperClass : x=" +x);
}
void doSomething( ){
System.out.println("in SuperClass.doSomething()");
}
}

class SubClass extends SuperClass{
int x;
SubClass( ){
super( ); //调用父类的构造方法
x=5;//super( ) 要放在方法中的第一句
System.out.println("in SubClass :x="+x);
}
void doSomething( ){
super.doSomething( ); //调用父类的方法
System.out.println("in SubClass.doSomething()");
System.out.println("super.x="+super.x+" sub.x="+x);
}
}

public class Inheritance{
public static void main(String args[]){
SubClass subC=new SubClass();
subC.doSomething();
}
}
这个程序又报同样的错误,真晕了


----------------解决方案--------------------------------------------------------
你用JC编 尽可能的不要用JB
----------------解决方案--------------------------------------------------------
同样的意思
没有主类
----------------解决方案--------------------------------------------------------

为什么JB老是报这样的错误泥


----------------解决方案--------------------------------------------------------

因为它是JB
所以最好不要用它


----------------解决方案--------------------------------------------------------
这个刚刚懂```
把主类放在前面`
其他的放后面,就可以运行的
----------------解决方案--------------------------------------------------------
import java.io.*;
public class MethodOverloadingTest{
public static void main(String args[]) {
MethodOverloading mo=new MethodOverloading();
mo.receive(1);
mo.receive(2,3);
}
}
class MethodOverloading{
void receive(int i) {
System.out.println("Receive one int data");
System.out.println("i="+i);
}
void receive(int x, int y) {
System.out.println("Receive two int datas");
System.out.println("x="+x+" y="+y);
}
}
这样就OK了``

----------------解决方案--------------------------------------------------------
  相关解决方案