这是一个关于继承的代码,请大家看看为什么张孝祥的视频中的这个代码能执行,而在我的电脑上却不能执行呢?
而且视频中的记事本命名为 "Lesson4.java",另外给分析一下这个代码,谢谢啦!
class Person
{
public String name;
public int age;
public void getInfo()
{
System.out.println("name="+name+",age="+age);
}
}class Student extends Person
{
public String school;
public void study()
{
}
}
class TestStudent
{
public static void main(String [] args)
{
Student st = new Student();
st.name = "张三";
st.age = 20;
st.getInfo();
}
}
而且视频中的记事本命名为 "Lesson4.java",另外给分析一下这个代码,谢谢啦!
class Person
{
public String name;
public int age;
public void getInfo()
{
System.out.println("name="+name+",age="+age);
}
}class Student extends Person
{
public String school;
public void study()
{
}
}
class TestStudent
{
public static void main(String [] args)
{
Student st = new Student();
st.name = "张三";
st.age = 20;
st.getInfo();
}
}
D:\d>javac Lesson4.javaD:\d>java Lesson4
Exception in thread "main" java.lang.NoClassDefFoundError: Lesson4
Caused by: java.lang.ClassNotFoundException: Lesson4
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: Lesson4. Program will exit.
比如你的文件,如果 把文件名定义成:TestStudent.java, 并把类TestStudent定义成public。 则编译时 javac TestStudent.java, 运行时:java TestStudent就行。
javac Lesson4.java
java TestStudent;
我把文件名改为TestStudent.java后运行成功了,
我太粗心了,可是为什么,记事本的名字Lesson4.java可以不跟类名TestStudent一致呢,java中不是要求类名要与文件名一致吗
你有没有 Lesson4.class这个class文件啊 ?你看看main在那个class中就: java 包含main的class文件名