why does this java code doesn't work on my pc?
for example:
package one;
public class Alpha {
//member variables
privateint privateVariable = 1;
int packageVariable = 2; //default access
protected int protectedVariable = 3;
publicint publicVariable = 4;
//methods
private void privateMethod() {
System.out.format("privateMethod called%n");
}
void packageMethod() { //default access
System.out.format("packageMethod called%n");
}
protected void protectedMethod() {
System.out.format("protectedMethod called%n");
}
public void publicMethod() {
System.out.format("publicMethod called%n");
}
public static void main(String[] args) {
Alpha a = new Alpha();
a.privateMethod();//legal
a.packageMethod();//legal
a.protectedMethod(); //legal
a.publicMethod();//legal
System.out.format("privateVariable: %2d%n",
a.privateVariable);//legal
System.out.format("packageVariable: %2d%n",
a.packageVariable);//legal
System.out.format("protectedVariable: %2d%n",
a.protectedVariable); //legal
System.out.format("publicVariable: %2d%n",
a.publicVariable);//legal
}
}
As you can see, Alpha can refer to all its member variables and all its methods, as shown by the Class column in the preceding table. The output from this program is:
privateMethod called
packageMethod called
protectedMethod called
publicMethod called
privateVariable: 1
packageVariable: 2
protectVariable: 3
publicVariable: 4
when above example runs on my pc:
it works below description:
D:\javacode>javac Alpha.java
D:\javacode>java Alpha
Exception in thread "main" java.lang.NoClassDefFoundError: Alpha (wrong name: on
e/Alpha)
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$100(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)
why it runs wrongly and who can help me?
thanks

