A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈志伟 中级黑马   /  2012-4-11 22:17  /  1294 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

正在学习Swing,对以下代码中的super有疑问:为什么在MyFrame类中调用Super()就是设置标题呢?为什么不是别的?为什么不用SetTitle什么的?
  1. import java.awt.*;
  2. public class TestMultiFrame {
  3.     public static void main(String[] args) {
  4.         MyFrame f1 = new MyFrame(100, 100, 200, 200, Color.BLUE);
  5.         MyFrame f2 = new MyFrame(300, 100, 200, 200, Color.yellow);
  6.         MyFrame f3 = new MyFrame(100, 300, 200, 200, Color.green);
  7.         MyFrame f4 = new MyFrame(300, 300, 200, 200, Color.red);
  8.     }
  9. }

  10. class MyFrame extends Frame {
  11.     static int i = 0;
  12.     MyFrame(int x, int y, int w, int h, Color color) {
  13.         super("MyFrame" + (++i));
  14.         setLayout(null);
  15.         setBackground(color);
  16.         setBounds(x, y, w, h);
  17.         setVisible(true);
  18.     }
  19. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
岳民喜 + 1

查看全部评分

2 个回复

倒序浏览
调用了父类Frame的方法
Frame(String title)
          构造一个新的、最初不可见的、具有指定标题的 Frame 对象。
回复 使用道具 举报
你在构造方法里使用super就是调用父类的构造方法,父类Frame的构造方法里有一个是可以设置标题的,这点你可以查看API文档,当然他也有空参数的构造方法,这要看你喜欢了,你可以在构造的时候直接设置Title,也可以把这句话去掉使用this.setTitle("Title");来设置标题。

顺便说一下,其实在父类的构造方法里使用的也是setTitle这个方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马