小仲卜 发表于 2016-11-3 10:45:16

Java类管理求组

声明我新手,刚刚开始接触java。
遇到个问题求大神指点。
我用文本编辑器写了两个类:ListNode.java、StringLinkList.java.存放的路径是:E:Java\DataOfStruct\LinkList\ ListNode.java StringLinkList.java.
由于对于java中的包这个概念一直不太理解,所以没有用包(其实我用了,但是没解决问题)。在StringLinkList类中有调用ListNode中的public方法,并且有一个"拥有关系"。
我在编译的时候出现了一个问题:如图,大概就是StringLinkList.java中不能正常的使用ListNode类。这里和c++中头文件不太一样,所以我一直没搞太明白。
看了一些资料,感觉对java中的包、类路径什么的更加迷糊了。各位大哥大姐求指点迷津。
代码在附录中,代码很简单,主要是我脱离ide环境自己管理类就有点懵了。

没法上传附件了。

呆鸭 发表于 2016-11-3 11:00:06

本帖最后由 呆鸭 于 2016-11-3 11:01 编辑

百度 javac -classpath

小仲卜 发表于 2016-11-3 11:18:03

呆鸭 发表于 2016-11-3 11:00
百度 javac -classpath

大致看了一下,没整明白。
我试了一下在类中增加:package p1;
然后:
E:Java\DataOfStruct\LinkList javac -d . ListNode.java StringLinkList.java
然后还是一样的StringLinkList中的错误。
不过生成了一个文件夹p1,将ListNode.class放在里面了。
这样我还是不明白JVM是怎么去寻找类文件的。

呆鸭 发表于 2016-11-3 11:54:23

本帖最后由 呆鸭 于 2016-11-3 11:57 编辑

小仲卜 发表于 2016-11-3 11:18
大致看了一下,没整明白。
我试了一下在类中增加:package p1;
然后:


http://www.blogjava.net/caizh2009/archive/2010/10/19/335634.html
http://blog.sina.com.cn/s/blog_62ef2f140101epck.html
http://blog.csdn.net/pengpenglin/article/details/1682858
上面都看完后,可以再看:
http://blog.csdn.net/caesarzou/article/details/5462189
http://blog.csdn.net/guoxianzhuang/article/details/8172058
全部看完后,动手做做实验就知道了。

补充说明,jvm怎么去找class、jar至少要有概念,不然实务上会碰到很多莫名其妙的问题。

呆鸭 发表于 2016-11-3 12:00:33

呆鸭 发表于 2016-11-3 11:54
http://www.blogjava.net/caizh2009/archive/2010/10/19/335634.html
http://blog.sina.com.cn/s/blog_6 ...

补充说明,jvm怎么去找class、jar至少要有概念,不然实务上会碰到很多莫名其妙的问题!

zzzz76 发表于 2016-11-3 16:33:30

本帖最后由 zzzz76 于 2016-11-3 16:36 编辑

你把import ListNode.*;这一句删掉
因为ListNode是和StringListLink在同一个包下的原文件,无需再import
寻找类文件时主要是通过你之前的环境变量的设置
我也刚学java,可能有说的不对的地方,不过你可以试试我的思路

小仲卜 发表于 2016-11-3 19:12:59

呆鸭 发表于 2016-11-3 12:00
补充说明,jvm怎么去找class、jar至少要有概念,不然实务上会碰到很多莫名其妙的问题!

谢谢你的分享,看完很涨知识。问题已解决,6楼的方法也是 可以的。

小仲卜 发表于 2016-11-3 19:14:07

zzzz76 发表于 2016-11-3 16:33
你把import ListNode.*;这一句删掉
因为ListNode是和StringListLink在同一个包下的原文件,无需再import
...

哈哈,层主的思路没问题的,我后来也是这么做的。不过费了好久时间才整明白。

小仲卜 发表于 2016-11-3 21:51:28

呆鸭 发表于 2016-11-3 12:00
补充说明,jvm怎么去找class、jar至少要有概念,不然实务上会碰到很多莫名其妙的问题!

惭愧啊,我又试着去将这两个类写在一个包里,然后按照之前的方法就报错了,错误大意是 StringLinkList中无法识别ListNode。
看来还是没怎么搞明白啊。

小仲卜 发表于 2016-11-3 21:52:05

小仲卜 发表于 2016-11-3 19:14
哈哈,层主的思路没问题的,我后来也是这么做的。不过费了好久时间才整明白。

那如果这两个类写在一个包中,应该怎么整了。
页: [1]
查看完整版本: Java类管理求组