老师给的答案 1。bdf 2。d
还有一道题
32、 给定下列程序,正确的叙述是?
import java.awt.*;  
public class Test extends Frame {
    public Test() {
        Button b1 = new Button(“One”);
        Button b2 = new Button(“Two”);
        Button b3 = new Button(“Three”);
        add(b1); add(b2); add(b3);
        setSize(200,200); setVisible(true); 
    }
}
a) 按钮从左到右排列,显示在窗口的上端
b) 按钮从左到右排列,显示在窗口的下端
c) 按钮从左到右排列,显示在窗口的中央
d) 按钮One显示,并铺满窗口
e) 按钮Three显示,并铺满窗口答案给的是e不知道为什么?

解决方案 »

  1.   

    当然是答案e了,同样的东西,创建在同样一个地方,最后显示出来的当然是three的了
      

  2.   

    第一题好解释哦,dbf编译成功,这都是基本的编译原理哦,
      

  3.   

    public void process(int j) { j /=  0; }
    语法完全正确哦,你是不是认为 /=写错了哦???? /=这个是可以的
      

  4.   

    f正确,编译可以通过,运行抛ArithmeticException,属于RuntimeException,不必在throws语句中显示写出第二题感觉是d,会提示B.class是public,而文件名是不是B.java
    同一个文件中最多只能有一个public类,而且这个类必须与文件名相同
      

  5.   

    我的意思是 j/0 除零 不抛出异常吗?还有3个按钮为什么不是排成一排显示? 你上面说的我不太懂,如果把他们放到panel里是不是就排成一排显示了?
      

  6.   

    j/0抛出异常那也是在执行阶段哦,编译阶段当然不会出错的了放在panel里面应该是一排显示
      

  7.   

    第一题:
        记住方法由方法名和argument唯一确定,返回值类型并部能区分方法。所以看的时候不要被其他信息迷惑,只盯着方法名和argument看就行了,一样的就是overriding,不一样就是overloading.    a错,因为process(int j)与父类中的process(int abc)冲突,既不是overloading又不是overridding(因为父类中是void而子类若overriding是不能改成int的)!
        b对,process(int abc, int cba)与父类中的不是一个方法,典型的overloading!
        c错,方法名和argument与父类一样,是想overriding,但父类方法中未抛出的异常子类不可抛出(反过来可以,父类抛出子类可以不抛出)!
        d对,用c的判断法似乎d应该错,但RuntimeException是特殊的异常,可以理解为是系统缺省的,即即使方法后面不写,也认为可以抛出!
        e错,很明显int类型就必须返回int值!
        f对,同a,b的原理,典型的overriding!第二题,编译一下就知道了,如下:
        F:\java\A.java:2: class B is public, should be declared in a file named B.java
    public class B{ int y;   public B(int y) { super(this.y); }}
           ^
    F:\java\A.java:2: cannot reference this before supertype constructor has been called
    public class B{ int y;   public B(int y) { super(this.y); }}
                                                     ^
    F:\java\A.java:2: Object() in java.lang.Object cannot be applied to (int)
    public class B{ int y;   public B(int y) { super(this.y); }}
                                               ^
    3 errors
      

  8.   

    加上setLayout(new FlowLayout(FlowLayout.LEFT));就行
    从左到右!
      

  9.   

    ??不应该是 三个按钮按照 流布局 排列吗?  
    还有上面两道题也解释一下
    this.setLayout(new FlowLayout());这样才是流布局
    至于为什么会现实成那个样子,我觉得这就是默认布局。
      

  10.   

    默认的布局管理不就是 flowlayout吗????如果不是,那是什么??
      

  11.   

    Frame 默认边界布局管理器,有center,north,west,south.east五个位置吧。如果要在Frame里面同时看到3个button,必须在add()方法里加入以上方位参数,否则只会造成新添的button覆盖以前的button,最后窗体上只会显示button3.好象默认缺省方位参数是center吧,不记得了,得查查API先
    前面的题目同意楼上各位的解释