日期:2014-05-20  浏览次数:20652 次

方法重写的参数问题
Java code

package com.yixq.GUI;

import java.awt.Color;
import java.awt.Frame;
import java.awt.event.*;

public class WindowEvent {
    public static void main(String[] args) {
        new MyFrame5("abce");
    }
}

class MyFrame5 extends Frame {
    MyFrame5(String s) {
        super(s);
        setLayout(null);
        setBounds(300, 300, 300, 200);
        setBackground(Color.cyan);
        setVisible(true);
        this.addWindowListener(new Monitor5());
    }

    class Monitor5 extends WindowAdapter {

        @Override
        public void windowClosing(java.awt.event.WindowEvent e) {
            setVisible(false);
            System.exit(-1);
        }

    }
}



为什么在Monitor5的类中重写的方法windowClosing的形参列表是java.awt.event.WinodwEvent e
可是我看API是WindowEvent e 啊。这两种写法什么区别呢 我改成WindowEvent e eclipse会报错。
请问高手错在哪。谢谢。我是小菜鸟

------解决方案--------------------
你自己的类名叫WindowEvent....你又导入一个event.WindowEvent,导致编译器无法识别是哪一个
必须明确指明是哪个包的
------解决方案--------------------
探讨

你自己的类名叫WindowEvent....你又导入一个event.WindowEvent,导致编译器无法识别是哪一个
必须明确指明是哪个包的