关键看你的A.java这个类的可见范围了
如果你的A是
class A{...}
那么,可能就是这种情况了如果是
public class A{...}的话应该就没有问题了
去看看public protected private friendly的区别就知道了
如果你的A是
class A{...}
那么,可能就是这种情况了如果是
public class A{...}的话应该就没有问题了
去看看public protected private friendly的区别就知道了
如果你的A是
class A{...}
那么,可能就是这种情况了如果是
public class A{...}的话应该就没有问题了
去看看public protected private friendly的区别就知道了
只要把你的A.java也加上package就行了
javac A.java -d .
javac AA.java -d .
当然是public了,不过还是不行的.to:ChDw(米)
javac是根据classpath来找的.
其实根据classpath后面的路径来建立路径参考表.会根据-classpath去寻找所需要的类,如果在其中一个目录下没有找到,就继续寻找下一个,如果还是没有找到就会出错了.找到的话,就会比较.java和.class谁最新的,来决定是否要编译.java文件了.to:yuanmeng163(今天我有空)
是一样的错误了,"-d ."应该只是把编译后的class文件放在当前目录下,本质上应该没有什么变化的.其实大家可以试一下,环境是不难做出来的.
很奇怪了.
一下子出现这个问题,倒让我莫名惊诧了!
所以我认为javac应该能找到的.
还有为什么去掉package aa;就会编译通过呢?
难道package.......?
A类没有包语句,因此编译后就成为了无名包的一个类。而类AA是有包语句的,和类A不是一个包里的类,而处在不同包里的类互相使用时要用import语句,如果不用import,就认为是同一个包里的类,会去同一包里去找!
那其他包里面的类,如何访问一个"无名包的一个类"呢?
怎样把他import进来呢?
请问yuanmeng163(今天我有空)?
1。AA类也去掉包语句,使它也成为无名包的类,就与A处在同一个包里了;
2。给A类加上包语句,如package b;然后再AA类中显示的导入:import b.A;