首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于静态方法与非静态方法解决办法

2012-04-05 
关于静态方法与非静态方法各位大虾,下面这段程序是核心技术卷图形设计那一章的里的代码,我对NotHelloWorld

关于静态方法与非静态方法
各位大虾,下面这段程序是核心技术卷图形设计那一章的里的代码,我对NotHelloWorldFrame   类中构造器如此调用setTitle( "NotHelloWorld ")以及
setSize(DEFAULT_WIDTH,   DEFAULT_HEIGHT)感到奇怪,根据我以前掌握的知识似乎只有静态方法才能如此调用,但是我在API里面查询到这两个方法并不是静态方法,而是实例方法,我想应该是   new   JFrame().setTitle( "NotHelloWorld ")    
new   JFrame().setSize(DEFAULT_WIDTH,   DEFAULT_HEIGHT)

import   javax.swing.JFrame;
import   javax.swing.JPanel;
import   java.awt.Graphics;

public   class   NotHelloWorld
{
    public   static   void   main(String[]   args)
    {
        NotHelloWorldFrame   frame   =   new   NotHelloWorldFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

/**
      A   frame   that   contains   a   message   panel
*/
class   NotHelloWorldFrame   extends   JFrame
{
    public   NotHelloWorldFrame()
    {
        setTitle( "NotHelloWorld ");
        setSize(DEFAULT_WIDTH,   DEFAULT_HEIGHT);

        //   add   panel   to   frame
        NotHelloWorldPanel   panel   =   new   NotHelloWorldPanel();
        add(panel);
    }

    public   static   final   int   DEFAULT_WIDTH   =   300;
    public   static   final   int   DEFAULT_HEIGHT   =   200;
}

class   NotHelloWorldPanel   extends   JPanel
{
    public   void   paintComponent(Graphics   g)
    {
        super.paintComponent(g);
        g.drawString( "Not   a   Hello,   World   program ",   MESSAGE_X,   MESSAGE_Y);
    }

    public   static   final   int   MESSAGE_X   =   75;
    public   static   final   int   MESSAGE_Y   =   100;
}

[解决办法]
super在这可省略,因为子类并未重写父类此方法。

热点排行