我无法理解为什么我收到以下错误 - cannot find symbol - class Line2D
- 当我尝试编译此代码时:
import java.awt.*;
public class KochSegment
{
public Line2D base = new Line2D(); public Line2D[] Lines = new Line2D[4]; //error is on this line
etc.
}
答案 0 :(得分:3)
它在一个子包中:
java.awt.geom.Line2D
所以你需要
import java.awt.geom.Line2D;
或
import java.awt.geom.*;
答案 1 :(得分:3)
应该从中吸取一些教训:
Star从包中导入仅导入类。它们也不从子包导入。实际上,Java中的子包是纯粹的语法。就Java语言而言,不同包或子包中的类之间没有语义关系。
明星进口往往会掩盖问题。很多人建议不要使用它们。完全写下导入。或者更好的是,使用可以完成类名完成的IDE,并生成缺少的导入。 (当然,例如IDE为(例如)Date
或List
提供多个完成时,您需要小心谨慎。)
搜索和阅读javadoc是帮助解决此类问题的好方法。 javadoc搜索(或类列表扫描)会告诉您Line2D
类的完全限定名称是什么。