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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© stormdzh 中级黑马   /  2013-9-24 16:12  /  1094 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我的主函数里面使先传入label的,为什么先打印的使Button!

  1. <DIV class=blockcode>
  2. <BLOCKQUOTE>import java.awt.*;

  3. class awtTest
  4. {
  5. public static void main(String[] args)
  6. {
  7. Label label=new Label("LLLL");
  8. myMethod(label);


  9. Button button=new Button("BBBB");
  10. myMethod(button);
  11. }

  12. public static void myMethod(Component c)
  13. {
  14. if(c instanceof Button)
  15. {
  16. Button Buttonc=(Button)c;
  17. Buttonc.setLabel("i'm a label");
  18. System.out.println(Buttonc.getLabel());

  19. }
  20. else if(c instanceof Label)
  21. {
  22. Label Labelc=(Label)c;
  23. Labelc.setText("i'm a button");
  24. System.out.println(Labelc.getText());

  25. }
  26. }
  27. }
复制代码
运行结果:

QQ截图20130924155012.png (2.97 KB, 下载次数: 7)

QQ截图20130924155012.png

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

3 个回复

倒序浏览
因为你说   是button就打印出label   ,所以   ...
回复 使用道具 举报
26.else if(c instanceof Label)

27.{

28.Label Labelc=(Label)c;

29.Labelc.setText("i'm a button");

30.System.out.println(Labelc.getText());

31.

32.}
这里你传入的是Lable,然后再这你设置的是Labelc.setText("i'm a button");所以打印的是button.~

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1 赞一个!

查看全部评分

回复 使用道具 举报
因为你这里输入的是29.Labelc.setText("i'm a button");你先输入lable就会想输出这个,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马