itgle.com

如下程序是为变量i赋值。若程序的输出结果是180。请将程序补充完整。注意:不改动程序结构,不得增行或删行。class Base{int i;Base(){add(10);}void add(int v){i+=v;}void print(){System.out.println(i);}}class Extension extends Base{Extension(){add(______);}void add(int v){i+=v*2;}}public class ConstructTest3{pub

题目

如下程序是为变量i赋值。若程序的输出结果是180。请将程序补充完整。

注意:不改动程序结构,不得增行或删行。

class Base

{

int i;

Base()

{

add(10);

}

void add(int v)

{

i+=v;

}

void print()

{

System.out.println(i);

}

}

class Extension extends Base

{

Extension()

{

add(______);

}

void add(int v)

{

i+=v*2;

}

}

public class ConstructTest3

{

public static void main(String args[])

{

bogo(new Extension());

}

static void bogo(Base b)

{

b.add(60);

b.print();

}

}


相似考题
参考答案和解析
正确答案:20
20 解析:本题综合考查了几个知识点,如调用子类的构造函数时,会先调用父类的构造函数;如果在子类的构造函数中没有显示调用父类的构造函数,那么创建子类的实例时,会先调用父类的缺省构造函数;方法的动态绑定。这些知识是考试的难点。以上代码创建的是Extension类的实例,所以,在运行时,所有调用add()方法的过程,将始终和Extension类的 add()方法动态绑定。以下是程序依次对变量i的改变过程。
初始值:i=0
Step1:创建实例new Extension()
先调用父类的缺省构造函数Base(),注意,父类中的add方法已被子类重写。父类的缺省构造函数中执行add(10),i=0+10*2得到i=20,再调用子类的缺省构造函数Extension(),假设横线处应填入的数是x,子类的缺省构造函数中执行add(x),i=20+x*2。
step2:执行add(60)
i=20+x*2+60*2=180得到x=20
更多“如下程序是为变量i赋值。若程序的输出结果是180。请将程序补充完整。 注意:不改动程序结构,不得增行 ”相关问题
  • 第1题:

    下列程序中,指定变量b=20为字节类型,变量f=0.34F为单精度类型,变量1=0xeefL为64位长整型,并将该三个变量打印输出。请将程序补充完整。

    注意:不改动程序结构,不得增行或删行。

    import java.io.*;

    public class Assign

    {

    public static void main(String args [])

    {

    ______b=20;

    ______f=0.34F;

    ______l=0xeefL;

    System.out.println("b="+b);

    System.out.println("f="+f);

    System.out.println("l="+1);

    }

    }


    正确答案:byte float long
    byte float long 解析:本题考查处理基本数据类型的声明。定义一个变量需要有一个类型,一个标识,如果需要,还可以加上一个初始值。本题涉及到三种类型:字节整型、单精度浮点型和64位的长整型,分别用关键字byte、float和long标识。

  • 第2题:

    下面程序创建一个长宽均为100的Frame窗口,并且窗口的背景颜色是蓝色。请将程序补充完整。

    注意:不改动程序结构,不得增行或删行。

    import java.awt .*;

    public class ex1 extends Frame

    {

    public static void main(String[] args)

    {

    ex1 t=new ex1();

    t.setSize(100,100);

    ______

    t.setVisible(true);

    }

    }


    正确答案:t.setBackground(Color.blue);
    t.setBackground(Color.blue); 解析:本题是基本操作题,主要考查对图形用户界面的掌握。类ex1继承了Frame类,因此该类的实例t就可以调用Frame类的基本方法t.setBackground(Color.blue),由于题干要求窗口的背景颜色为蓝色,因此需要调用Color.blue作为方法setBackground的参数。

  • 第3题:

    下列程序要求在对话框中打印“欢迎您参加考试!”。请将程序填写完整。

    注意:不改动程序结构,不得增行或删行。

    import javax.swing.JOptionPane;

    public class ex1

    {

    public static void main(String args[])

    {

    JOptionPane.______(null,"欢迎您参加考试!");

    System.exit(0);

    }

    }


    正确答案:showMessageDialog
    showMessageDialog 解析:本题主要考查Java语言的JOptionPane类。解题关键是熟悉JOptionPane类的方法。在Java语言中,JOptionPane类用来实现类似于VB中MessageBox的功能,但是它的功能要比MessageBox完善的多。JOptionPane可以生成各种标准的对话框,大致有确认问题的 ConfirmDialog、允许用户输入文字的InputDialog、显示信息的showMessageDialog和显示通用信息的showOptionDialog四种。本题中,只要求用户显示信息,所以直接调用JOptionPane类的showMessageDialog方法,实现信息的输出。MessageDialog的第2个参数,是一个字符串类型的参数,用来显示需要在对话框内显示的文字。

  • 第4题:

    将下面的程序补充完整。

    注意:不改动程序结构,不得增行或删行。

    import java.appplet.Applet;

    import java.awt.Graphics;

    public class ex1 extends Applet

    {

    public void paint(Graphics______)

    {

    int i=682;

    gap.drawstring(Integer.______(i),20,60);

    }

    }


    正确答案:gap toString
    gap toString 解析:本题考查图形用户界面和字符串的使用。paint()方法有一个参数gap是Graphics类的实例,当然gap是程序员自己起的名字,你也可以定义为abc,这都无妨,该实例由浏览器生成,它包含了Applet图形上下文信息,通过它向Applet中显示信息,该对象相当于 Applet的画笔。在调用paint()方法时,由浏览器将该对象传给paint()方法。由于在方法 drawstring()前程序已经给出了对象名gap,因此,第1空填写gap。toString()方法是Object自带的一个方法,用于返回该对象(在本题中是gap)信息的字符串,该字符串与对象相同类型。

  • 第5题:

    下面是一个类的定义程序,请将程序补充完整。

    注意:不改动程序结构,不得增行或删行。

    public class______

    {

    int x,y;

    My Class (int i,______)

    {

    x=i;

    y=j;

    }

    }


    正确答案:MyClass Int j
    MyClass Int j 解析:本题是基本操作题,主要考核对构造函数的掌握。构造函数的名字必须与类名一致,因此,第1空填写MyClass。此构造函数的功能是为类内的成员变量x,y通过参数i和j来赋值,把i的值传给x,我们定义把j的值传给y,因此,第2空填写int j.