例子中setSize方法为什么可以直接用而不用对象引用?

import java.awt.*;
import javax.swing.*;

/**

  • @version 1.32 2007-06-12
  • @author Cay Horstmann */ public class SimpleFrameTest { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { SimpleFrame frame = new SimpleFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }); } }

class SimpleFrame extends JFrame
{
public SimpleFrame()
{
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
}

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

setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);方法为什么可以直接用而不用对象引用?

1.父类有setSize的方法,并且可以被继承;
2.为什么可以直接用,不是说不需要对象引用就能调用,而是在一个对象内,方法之前是可以互相调用的;
你的setSize是在构造方法中调用的,构造方法也是方法哦;
只要方法中的调用关系不违背static调用非static就没关系;
3.就好像你自己写一个类,里面两个非静态方法,然后其中一个调用另外一个是一样的道理,但是方法的生效
肯定是在你实例化之后,所以那只能算是方法体,说不定jit之后还会内联;

希望对你有帮助....

它是父类的方法...子类继承了父类后,可是不创建对象使用父类 的方法

猜一下啊,源码是JFrame 继承了Frame,Frame继承了window,Window.java里边的setSize()是public void方法,这样直接用挺好。

static方法 可以直接调用,调用父类方法要加this或者super

 void java.awt.Component.setSize(int arg0, int arg1),源码是JFrame 继承了Component,直接用的父类.Component的setSize方法。 

继承顺序是JFrame-Frame-Window-Container-Component-Object

setSize是static的吧