loveiflower 2013-07-10 03:30 采纳率: 0%
浏览 2379
已采纳

java中为什么只进行一个初始化就会执行类中的函数

import java.awt.*;import javax.swing.*;
import java.awt.event.*;
public class E2 extends Frame{
    class WindowCloser extends WindowAdapter
    {
        public void windowClosing(WindowEvent we)
        {System.exit(0);

        }
    }
    E2()
    {
        super("简单图形");
        setSize(200,200);
        setVisible(true);
        addWindowListener(new WindowCloser());

    }
    public void paint(Graphics e)
    {
        e.drawLine(50,50,120,120);
        e.drawRect(50, 50, 70, 70);
        e.drawOval(70,70,90,90);
    }
    public static void main(String args[])
    {
        new E2();
    }
}

代码如上,主main函数中知识一个初始化声明语句,并没有声明要执行 E2类中的paint函数,为什么程序运行时会直接画出图形啊。本人刚开始看java,中间都是大概看的,不太懂这个,谢谢指点。

  • 写回答

2条回答

  • wengmeishi 2013-07-11 14:54
    关注

    这个类在实例化的时候,会执行父类中的构造函数,而父类中的构造函数执行了paint方法,说明你的paint方法是重写父类的paint方法的,自然也会执行咯。你可以换一个函数名称比如paint2试下,那个函数就不会执行了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了