包之间的继承不存在?

时间:2011-10-11 22:54:46

标签: java swing inheritance packages

请原谅我提出一个愚蠢的问题,但最近我突然意识到我一直在做这样的事情

import java.awt.*;
import java.awt.event.*;
                  ^
                  |
很长一段时间以来,我一直在想“这真的有必要吗?”

以下代码无法编译。我的问题是为什么?

import javax.swing.*;
import java.awt.*;

public class Calculator extends JFrame implements ItemListener, ActionListener {
    ...

更具体地说,由于我导入java.awt.*;,我不应该在不执行import java.awt.event.*;的情况下实现侦听器吗?

1 个答案:

答案 0 :(得分:4)

  

包之间的继承不存在?

正确。一个包只是一个命名空间,它(至少在Java中)不是嵌套的。

  

更具体地说,由于我导入java.awt.*;,我不应该在不执行导入java.awt.event.*;的情况下实现侦听器吗?

你看到的编译错误清楚地反驳了这一点。导入包不会导入其子包。