关于静态方法与非静态方法

t427795737 2007-09-18 01:53:42
各位大虾,下面这段程序是核心技术卷图形设计那一章的里的代码,我对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;
}
...全文
188 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿甘1976 2007-09-18
  • 打赏
  • 举报
回复
super在这可省略,因为子类并未重写父类此方法。
阿甘1976 2007-09-18
  • 打赏
  • 举报
回复

class Father
{
public void showMe(String str)
{
System.out.println(str);
}
}

public class Son extends Father implements java.io.Serializable
{
public Son()
{
showMe("I am Son!");
}
public static void main(String[] args)
{
Son bb = new Son();
}
}

继承父类的方法啊!先学好基础吧!
宋玮-深圳 2007-09-18
  • 打赏
  • 举报
回复
Init你这个类的时候父类已经初始化过了,不是什么静态方法。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧