我不明白为什么我收到以下错误 - cannot find symbol - class Line2D
- 当我尝试编译此代码:找不到符号Line2D?
import java.awt.*;
public class KochSegment
{
public Line2D base = new Line2D(); public Line2D[] Lines = new Line2D[4]; //error is on this line
etc.
}
我不明白为什么我收到以下错误 - cannot find symbol - class Line2D
- 当我尝试编译此代码:找不到符号Line2D?
import java.awt.*;
public class KochSegment
{
public Line2D base = new Line2D(); public Line2D[] Lines = new Line2D[4]; //error is on this line
etc.
}
它是在一个子包:
java.awt.geom.Line2D
所以你需要任一
import java.awt.geom.Line2D;
或
import java.awt.geom.*;
个
应该从这里可以学到一些经验教训:
星从一个包导入只有进口类。它们也不从子包中导入。实际上,Java中的子包是纯粹的句法。就Java语言而言,不同包或子包中的类之间不存在语义关系。
明星进口倾向于掩盖问题。很多人建议不要使用它们。全部写入输入。或者更好的是,使用可以完成类名完成的IDE,并生成缺少的导入。 (当然,你需要小心一点时,例如IDE为您提供多个完成的(比如说)Date
或List
。)
搜索和阅读的javadoc是帮助这类问题的好办法。 javadoc搜索(或类列表扫描)会告诉您Line2D
类的完全限定名称。
谢谢!我是一个小菜馆 – 2014-10-18 00:40:10
@RenéG我们都去过那里!此外,只是供参考,你可能想考虑不使用通配符导入;)http://stackoverflow.com/questions/147454/why-is-using-a-wild-card-with-a-java-import-statement-bad – 2014-10-18 00:40:48
为什么不awt。*导入geom? – 2014-10-18 00:42:49