jdk路径:E:\java\jdk1.7.0_40
运行程序路径: D:\java
Person.java 如下
package org.com.pack.person;
public class Person {
protected String name;
protected int age;
protected void setName(String name) {
this.name=name;
}
protected String getName() {
return name;
}
protected void setAge(int age) {
this.age=age;
}
protected int getAge() {
return age;
}
protected void respire() {
System.out.println("会呼吸");
}
}
////////////////////////////////////////////////////////////////////
student.java 如下
package org.com.pack.student;
import org.com.pack.person.Person;
public class Student extends Person {
private String school;
public void setSchool(String school) {
this.school=school;
}
public String getSchool() {
return school;
}
public static void main(String[] args) {
Student stu=new Student();
stu.setName("小强");
stu.setAge(21);
stu.setSchool("中国矿业大学");
stu.respire();
System.out.println("我叫"+stu.getName()+",今年"+stu.getAge()+"岁,就读于"+stu.getSchool()+"!");
}
}
///////////////////////////////////
运行时 cmd中当前目录D:\java输入 javac -d . Person.java
javac -d . Student.java
成功生成对应的包Person.class 路径 D:\java\org\com\pack\person
Student.class 路径 D:\java\org\com\pack\student
cmd 中再输入 java org.com.pack.student
找不到或无法加载主类org.com.pack.student.
解决方法: 网上找了很多资料,以为是clsspath路径没加上当前路径,在尾部加上 ;D:\java,如下。
classpath: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;D:\java
运行,还是失败,都打算发帖求助了,整理了一下问题,因为不清楚编译过程,又重新编译,突发奇想,是不是类路径错了。
cmd中再输入 java org.com.pack.student.Student
运行成功。由于看的书是这样写的,导致包名与类名只差一个首字母,查资料就以为是上面的运行方式。
classthpah 修改回来,还是正常运行。