javac 编译的相关
有两个类,类A和类B,A里有B,B里有A,javac是怎么编译的。如果有两个类,类C和类D,类C里只有类D,javac是要先去编译D,然后再去编译C,那么项目依赖的类是怎么编译的。 --------------------编程问答-------------------- 自己顶,各位大拿帮帮忙呀 --------------------编程问答-------------------- 按照LZ的意思尝试了下:
com/A.java 存在com22.B成员属性
com22/B.java 存在com.A成员属性
(这里要保证com 和com22在同一级目录下,比如test目录下)
然后在test目录下执行:javac com\A.java
A和B都被编译好了。
反推javac编译逻辑:
编译器得到指令要编译com\A.java
在A.java中,存在com22.B的import关键字,编译器就在com22包下找B.class。没找到,再找B.java,将其编译成class。
这里,B存在import com.A操作,但com.A在编译器当前指令中,就不会递归再去找A.class了。
最终效果就是com.A和com22.B都正确编译了。
补充:Java , Java相关