这是一个关于继承的代码,请大家看看为什么张孝祥的视频中的这个代码能执行,而在我的电脑上却不能执行呢?
而且视频中的记事本命名为  "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();
}
}

解决方案 »

  1.   

    这是在dos中执行时的错误提示:
    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.
      

  2.   

    运行java TestStudent 试试。因为main()方法在这个类里。
      

  3.   

    一般情况把含有main()方法的类定义成public, 类名于文件名相同。
    比如你的文件,如果 把文件名定义成:TestStudent.java,  并把类TestStudent定义成public。 则编译时 javac TestStudent.java, 运行时:java TestStudent就行。
      

  4.   

    把文件名改成TestStudent.java就可以了。mian函数所在的类名应该与文件名完全一样。
      

  5.   

    抱歉,张孝祥老师是:
    javac Lesson4.java
    java  TestStudent;
    我把文件名改为TestStudent.java后运行成功了,
    我太粗心了,可是为什么,记事本的名字Lesson4.java可以不跟类名TestStudent一致呢,java中不是要求类名要与文件名一致吗
      

  6.   

    是一个文件中的public的类外面必须用该类名来命名,这是规定。你可能看错了。而且一个文件只允许有一个public的类
      

  7.   

    +1  因为用了public修饰
      

  8.   

    含有main方法的类名一般定义为与文件名相同,而且只能有一个,用public修饰。写代码一定要规范,这一点一定要遵从。
      

  9.   

    老大 , Exception in thread "main" java.lang.NoClassDefFoundError: Lesson4
    你有没有 Lesson4.class这个class文件啊 ?你看看main在那个class中就:   java 包含main的class文件名
      

  10.   

    每太看得懂你说的什么呢,不就是main方法所在的类的类名要和文件名相同么,什么public的没看得懂啊,求指教
      

  11.   

    每太看得懂你说的什么呢,不就是main方法所在的类的类名要和文件名相同么,什么public的没看得懂啊,求指教
      

  12.   

    大家,main方法在哪个类就运行哪个类~而且那个文件的命名是用主类的名字来命名的~