首先,请看 Java做了些什么:
dcs@dcs-132-CK-NF79:~/tmp$ ls *.java
BaseClass.java Test.java
dcs@dcs-132-CK-NF79:~/tmp$ ls *.class
ls: cannot access *.class: No such file or directory
dcs@dcs-132-CK-NF79:~/tmp$ javac -cp . Test.java
dcs@dcs-132-CK-NF79:~/tmp$ ls *.class
BaseClass.class Test.class
因此,正如你可以看到的那样,Java 实际上汇编了BaseClas
。 当你这样做时。 问题是什么:如何做到这一点? 它能知道什么文件汇编?
简而言之,当你在 Java写<代码>extends BaseClas时,你实际上知道几件事。 你们知道从包裹名称中找到这些档案的目录。 它还知道BaseClass
要么在目前的档案中,要么在一份名为的档案中。 BaseClass.java
。 如果你怀疑这两种事实,就会试图将档案从目录上转移或重新命名,并且看 Java是否能够汇编。
因此,为什么 t子也一样? 因为它既无所作为! 不管其申报的包裹如何,Schala的档案都可以存放在任何目录中。 事实上,单一Schala档案甚至可以宣布一个以上包裹,从而不可能实行目录规则。 而且,无论名称如何,一个Schala语课程都可以在任何档案中进行。
因此,尽管 Java要求你掌握档案的目录和档案的名称,然后让你从<条码>javac的指挥线上查阅档案,从而获得这些档案。 请你在你看来以任何最好的方式制定你的法典,但要求你告诉它什么地方。
请你看。