找不到符号Line2D?

时间:2014-10-18 00:37:39

标签: java awt

我无法理解为什么我收到以下错误 - 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.
}

2 个答案:

答案 0 :(得分:3)

它在一个子包中:

java.awt.geom.Line2D

所以你需要

import java.awt.geom.Line2D;

import java.awt.geom.*;

答案 1 :(得分:3)

应该从中吸取一些教训:

  1. Star从包中导入导入类。它们也不从子包导入。实际上,Java中的子包是纯粹的语法。就Java语言而言,不同包或子包中的类之间没有语义关系。

  2. 明星进口往往会掩盖问题。很多人建议不要使用它们。完全写下导入。或者更好的是,使用可以完成类名完成的IDE,并生成缺少的导入。 (当然,例如IDE为(例如)DateList提供多个完成时,您需要小心谨慎。)

  3. 搜索和阅读javadoc是帮助解决此类问题的好方法。 javadoc搜索(或类列表扫描)会告诉您Line2D类的完全限定名称是什么。