超星第四章同步测试

Java面向对象程序设计第三版课后习题答案 第四章(超星作业,部分课后)

测试4

1【单选题】

下列哪个叙述是正确的?

我的答案:D

2【单选题】

对于下列Dog类,哪个叙述是错误的?

class Dog {

    Dog(int m){

    }

    Dog(double  m){

    }

    int Dog(int m){

       return 23;

    }

    void Dog(double m){

    }

}

我的答案:D

3【单选题】

对于下列Tom类,哪个叙述是正确的?

public class Test {

   public static void main(String args[]){

     Tom cat = new Tom();

   }

}

class Tom {

    void  Tom(){

       System.out.println("ok");

    }

    Tom(int m){

       System.out.println("你好");

    }

}

我的答案:C

4【单选题】

下列哪个叙述是正确的?

我的答案:D

5【单选题】

当用new运算符和构造方法创建对象时,下列哪个步骤的叙述是正确的?

我的答案:A

6【单选题】

下列【1】、【2】、【3】、【4】注释标注的哪行代码有错误?

class Cat {

   int leg;

   static int water;

   void setLeg(int leg) {

      this.leg = leg;    //【1】

      this.water = 100;  //【2】

   }

   static void setWater(int water) {

      Cat.water = water;    //【3】

      leg = 4;              //【4】

   }

}

我的答案:D

7【单选题】

下列【1】、【2】、【3】、【4】注释标注的哪行代码有错误?

class A {

  int f(int x,int y){

     int x;      //【1】

     int m = y;  //【2】

     return m;

  }

  int A(int m)   //【3】

  {

     return m;

  }

} public class E {

   public static void main(String args[]) {

       A a = new A(); //【4】

   }

}

我的答案:A

8【单选题】

下列【1】、【2】、【3】、【4】注释标注的哪行代码有错误?

class Tom {

  int x;

  static int y;

  void showXY(){

      System.out.printf("%d,%d\n",x,y);  

  }

  static void showY() {

      System.out.printf("%d\n",y);  

  }

}

public class E {

  public static void main(String aqgs[]){

      Tom.y = 100;  //【1】

      Tom cat = new Tom();

      cat.x = 100;  

      cat.y = 200;  //【2】

      Tom.x = 300;  //【3】

      cat.showXY();

      Tom.showY();  //【4】     

  }

}

我的答案:C

9【单选题】

下列【1】、【2】、【3】、【4】注释标注的哪行代码无编译错误,但运行时刻触发NullPointerException异常?

class Cat {

   int leg;

   static int water;

   void setLeg(int leg) {

      this.leg = leg;    //【1】

      this.water = 100;  //【2】

   }

   static void setWater(int water) {

      Cat.water = water;    //【3】

   }

}

public class E {

   public static void main(String args[]) {

       Cat cat = null;

       cat.setLeg(4); //【4】

   }

}

我的答案:D

10【单选题】

下列【1】、【2】、【3】、【4】注释标注的哪行代码有错误?

class E {

   int  x;               

   public void f(int n) {

      int m;               //【1】

      int t = x+n;         //【2】

      int y = x+m;         //【3】

      m = 10;

      y = x+m;             //【4】

  }

}

我的答案:C

11【填空题】

给出下列【代码】注释标注的代码的输出结果。

class Circle {

   int radius = 1 ;

   void setRadius(int radius){

       if(radius>0)

         this.radius = radius;

   }

}

class Geometry {

   Circle c;

   void setCircle(Circle c) {

       c.radius += 10;

       this.c = c;

   }

}

public class E {

    public static void main(String args[]) {

       Circle  circle = new Circle();

       circle.setRadius(10);

       Geometry  geometry = new  Geometry();

       geometry.setCircle(circle);

       Circle  circleTwo = new Circle();

       geometry.setCircle(circleTwo);

       System.out.printf("%d:%d",circle.radius,geometry.c.radius); //【代码】

    }

}

我的答案:

第一空: 

20:11

12【填空题】

给出下列【代码】注释标注的代码的输出结果。

class Circle {

   int radius = 1 ;

   void setRadius(int radius){

       if(radius>0)

         this.radius = radius;

   }

}

class Geometry {

   Circle c;

   void setCircle(Circle c) {

       c.radius += 10;

       this.c = c;

   }

}

public class E {

    public static void main(String args[]) {

       Circle  circle = new Circle();

       circle.setRadius(10);

       Geometry  geometry = new  Geometry();

       int r = circle.radius;

       geometry.setCircle(circle);

       System.out.printf("%d:%d:%d",r,geometry.c.radius,circle.radius); //【代码】

    }

}

我的答案:

第一空: 

10:20:20

13【填空题】

给出下列【代码】注释标注的代码的输出结果。

class B {

    int x = 100,y = 200;

    public void setX(int x) {

         x = x;

    }

    public void setY(int y) {

        this.y = y;

    }

    public int getXYSum() {

        return x+y;

    }

}

public class E {

    public static void main(String args[]) {

       B b = new B();

       b.setX(-100);

       b.setY(88);

       System.out.printf("%d:%d:%d",b.x,b.y,b.getXYSum());

    }

}

我的答案:

第一空: 

100:88:188

14【填空题】

给出下列【代码】注释标注的代码的输出结果。

class Fish {

   int weight = 1;

}

class Lake {

   Fish fish;

   void setFish(Fish s){

       fish = s;

   }

   void foodFish(int m) {

       fish.weight=fish.weight+m;

   }

}

public class E {

    public static void main(String args[]) {

       Fish  redFish = new Fish();

       Lake lake = new Lake();

       lake.setFish(redFish);

       lake.foodFish(120);

       System.out.printf("%d:%d",redFish.weight,lake.fish.weight);  //【代码】

    }

}

我的答案:

第一空: 

121:121

15【填空题】

class Car {

   int speed;

   void upSpeed(int m){

       if(m>0)

         speed += m;

   }

}

public class E {

   public static void main(String args[]) {

      Car carOne = new Car();

      Car carTwo = new Car();

      carOne.upSpeed(50);

      carTwo.upSpeed(100);

      System.out.printf("%d:%d",carOne.speed,carTwo.speed); //【代码】

   }

}

我的答案:

第一空: 

50:100

16【判断题】

方法中声明的局部变量不可以用访问修饰符:public,proteced,private修饰。

我的答案:

17【判断题】

构造方法的访问权限可以是public,protected,private或友好的。

我的答案:

18【判断题】

类中的重载方法的访问权限必须保持一致。比如,或者都是public方法,或者都是private方法。

我的答案:×

19【判断题】

方法重载的意思是:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同。

我的答案:

20【判断题】

一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量(实体)。

我的答案:

21【判断题】

方法的参数的名字可以和方法中声明的局部变量的名字相同。

我的答案:×

22【判断题】

this可以出现在实例方法和构造方法中。

我的答案:

23【判断题】

类中的实例方法可以用类名直接调用。

我的答案:×

24【判断题】

类中的实例变量在用该类创建对象的时候才会被分配内存空间。

我的答案:

25【判断题】

类中的类方法(static方法)只能操作类变量(static变量),不可以操作实例变量。

我的答案:

  • 20
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值