为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕莱坞森 2019-03-14 18:19:57
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 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

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


查看完整回答
反对 回复 2019-04-29
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

在对象初始化的时候,本来就是会执行类中的函数的。。。


查看完整回答
反对 回复 2019-04-29
  • 2 回答
  • 0 关注
  • 571 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号