日期:2014-05-20  浏览次数:20832 次

父类的方法直接怎么在子类直接调用
import java.awt.*;

public class TestMultiFrame {
  public static void main(String args[]) {
  MyFrame f1 = 
  new MyFrame(100,100,200,200,Color.BLUE);
  MyFrame f2 = 
  new MyFrame(300,100,200,200,Color.YELLOW);
  MyFrame f3 = 
  new MyFrame(100,300,200,200,Color.GREEN);
  MyFrame f4 = 
  new MyFrame(300,300,200,200,Color.MAGENTA);
  }
}




class MyFrame extends Frame{
  static int id = 0;
  MyFrame(int x,int y,int w,int h,Color color){
  super("MyFrame " + (++id));
  setBackground(color);
  setLayout(null);
  setBounds(x,y,w,h);//为何这几个set...方法直接在类里直接调用,同时他们也不是静态的,是不是应
  setVisible(true);//该 this.set...方法这样才对
  }
}


------解决方案--------------------
直接是子类调用父类的方法,这样的可以的
------解决方案--------------------
你不是extends继承了么。继承了可以使用父类所有方法。
------解决方案--------------------
前提是父类的方法不是private的。

如果子类和父类有同名的方法,也就是被重载过时:
用 super.方法名();
如果子类没有重载父类方法,
直接用 方法名();