Java 在找类别的时候,会先与该包匹配(在本地目录找),如果没有就会开始找import的包(java.lang.*自动import),如java.lang.Math,不过他应该在本地目录就找到Math类了,所以他就在里面找random()函数,结果没有,所以他就报错啦。
解决办法:把本地目录的Math.java放到其他地方或移除,让他在本地目录没有找到Math类。
在使用时加上包名,如java.lang.Math.random()
另外如果在import里他找到不止一个可以匹配,也会报错,例如:
有两个包,com.a 跟 com.b,里面都有test类,
像是
test |-com |
| |-a |-test.java
| |
| |-b |-test.java
然后你在test文件夹import了com.a跟com.b,
然后试图要使用:
test i=new test();
编译器就会告诉你他在com.a也找到test,com.b也找到test,这是就要写上包名:
com.b.test i=new com.b.test();
或把其中一个import拿掉。