父类:
package zp.brooks;public class A{ private int i; public A(){
} public A (int i){
}}子类:
package zp.brooks;public class B extends A{ private int b; public static void main (String[] args)
{
System.out.println("I am the child");
}}我先编译的class A,然后编译class B时遇到问题,提示错误如下:
B.java:3: 找不到符号
符号: 类 A
public class B extends A{
^
1 错误注:如果不打包的话,编译正常通过,且可以运行。我一直没找到问题到底在哪,希望大家能帮我解答一下。
package zp.brooks;public class A{ private int i; public A(){
} public A (int i){
}}子类:
package zp.brooks;public class B extends A{ private int b; public static void main (String[] args)
{
System.out.println("I am the child");
}}我先编译的class A,然后编译class B时遇到问题,提示错误如下:
B.java:3: 找不到符号
符号: 类 A
public class B extends A{
^
1 错误注:如果不打包的话,编译正常通过,且可以运行。我一直没找到问题到底在哪,希望大家能帮我解答一下。
D:\zp\brooks\B.javaD:\zp\brooks>javac A.java
D:\zp\brokks>javac B.javaD:>java zp.brooks.B
打包以后的位置是
d:\zp\brooks\zp\brooks\A.class
d:\zp\brooks\zp\brooks\B.class
这个时候你在d:java zp.brooks.B当然找不到A了
你应该去d:\zp\brooks\这个位置做zp.brooks.B动作才能正确执行
1:带参数-d .编译 具体:
为了简单,将文件A.java B.java放在d盘根目录下
然后在d盘根目录下输入如下命令 javac -d . A.java
javac -d . B.java
2:和lz的做法差不多 首先将A.java B.java放在包路径下 d:\zp\brooks\A.java d:\zp\brooks\Brooks.java 然后在d盘根目录下输入如下命令:
javac zp\brooks\A.java
javac zp\brooks\B.java
我试过了应当没有问题 如果有问题说一下
设了classpath也不行
不明白
我在命令提示符下编译A的时候就没有自动建文件夹zp\brooks
不知道为什么
在文件A.java B.java目录下输入如下命令 javac -d . A.java
javac -d . B.java
或者是javac -d . *.java
也是可以的.
西南地区~44701938~JAVA爱好者和初学者学习交流的群,欢迎大家来加入!~