包名要对应到文件路径
e:/java/package2/person.java
e:/java/package1/yingcang.java
注意编译顺序,加上classpath参数 -cp
e:
cd e:/java
javac package2/person.java
javac -cp . package1/yingcang.java
运行
java -cp . package1/yingcang
打开cmd窗口,运行步骤和格式如下:
编译java类:javac ***.java(每个java类都要编译)
运行类:java -cp 运行类所需的jar包路径 (要执行的类名称,不带后缀)yingcang
需要注意的有:
类名称首字母要大些,java文件名称要和类名称相同。所以,你的类名称是错误的。需要修改一下。初学者最好用IDE来操作。上手很快。
找到类所在目录,在地址栏上输入,cmd回车,会显示控制台并且是当前目录,先编译,javac yingcang.java生成class文件,然后,java yingcang 运行
我的看法 你那个package2中是用private声明的变量name和age 也就是仅限person类中使用的私有变量,在别的方法无法通过new对象调用的。