Day10刷题总结

选择题

  • `类 ABC 定义如下:
1 . public  class  ABC{
2 .     public  double  max( double  a, double  b) {   }
3 .
4 . }

将以下哪个方法插入行 3 是不合法的。(B)
A.public float max(float a, float b, float c){ }
B.public double max (double c, double d){ }
C.public float max(float a, float b){ }
D.private int max(int a, int b, int c){ }
解析:
这题考的是对方法重载(overload)的理解。
重载要求:在同一个类中,有两个或两个以上的方法,
1、方法名一致;
2、形参列表不一致,即:形参个数不一致 或 形参类型不一致 或 不同类型的形参的顺序不一致(其中有一项不一样即可),并且与形参变量名是否相同无关;
3、方法返回值类型可以一样,也可以不一样。

  • 在 java 中,一个类可同时定义为许多同名的方法,这些方法的形式参数个数,类型或顺序各不相同,传回的值可能各不相同,这种面向对象的特性称为(C)
    A.隐藏
    B.覆盖
    C.重载
    D.无此特性
  • 如果要建立一个java.com.computer的包放入当前java类,下列叙述正确的是? ( D)
    A.在代码中,不一定是第一句,只要是类定义前,加入package语句即可
    B.只需在代码中加入“package java.com;”一个语句
    C.必须在代码中加入“package java.com;”和“package java.com.computer;”两个语句
    D.只需在代码中第一条非注释性语句加入“package java.com.computer;”
    解析:
    package语句必须作为源文件的第一条非注释性语句,一个源文件只能指定一个包,只能包含一条package语句
  • 对于同一类中的两个方法 , 在判断它们是不是重载方法时 , 肯定不考虑( C)
    A.参数个数
    B.参数类型
    C.返回值类型
    D.参数顺序
    解析:
    方法重写“ 两小两同一大 ”原则
    方法名相同,参数类型相同
    子类返回类型小于等于父类方法返回类型,
    子类抛出异常小于等于父类方法抛出异常,
    子类访问权限大于等于父类方法访问权限。
  • 下列哪些针对代码运行结果的描述是正确的?(A)
class Car extends Vehicle
{
    public static void main (String[] args)
    {
        new  Car(). run();
    }
    private final void run()
    {
        System. out. println ("Car");
    }
}
class Vehicle
{
    private final void run()
    {
        System. out. println("Vehicle");
    }
}

A.Car
B.Vehicle
C.Compiler error at line 3
D.Compiler error at line 5
E.Exception thrown at runtime
解析:
首先final声明的方法是不能被覆盖的,但是这里并不错误,因为方法是private的,也就是子类没有继承父类的run方法,因此子类的run方法跟父类的run方法无关,并不是覆盖。new Car().run()也是调用子类的run方法。

  • 下面的输出结果是什么?(B)
public class Demo {
  public static void main(String args[])
  {
    String str=new String("hello");
    if(str=="hello")
    {
      System.out.println("true");
    }      
    else     {
      System.out.println("false");
    }
  }
}

A.true
B.false
解析:
==判断的是对象引用地址是否相同,
String str=new String(“hello”);
这句话new了一个新的String对象,所以地址与"hello"字符串常量的地址不同,答案为false
如果判断字符串是否相等应给用str.equals(“hello”)方法

  • 以下为 java 语法保留不能作为类名和方法名使用的是(ABCD)
    A.default
    B.int
    C.implements
    D.throws
  • 以下哪些继承自 Collection 接口(AB)
    A.List
    B.Set
    C.Map
    D.Array
    解析:
    在这里插入图片描述
  • 对Collection和Collections描述正确的是(BD)
    A.Collection是java.util下的类,它包含有各种有关集合操作的静态方法
    B.Collection是java.util下的接口,它是各种集合结构的父接口
    C.Collections是java.util下的接口,它是各种集合结构的父接口
    D.Collections是java.util下的类,它包含有各种有关集合操作的静态方法
  • 下列说法错误的有(ACD)
    A.在类方法中可用this来调用本类的类方法
    B.在类方法中调用本类的类方法时可直接调用
    C.在类方法中只能调用本类中的类方法
    D.在类方法中绝对不能调用实例方法
    解析;
    首先:
    成员方法又称为实例方法
    静态方法又称为类方法
    其次:
    a,静态方法中没有this指针
    c,可以通过类名作用域的方式调用Class::fun();
    d,太绝对化了,在类中申请一个类对象或者参数传递一个对象或者指针都可以调用;

猜你喜欢

转载自blog.csdn.net/sl1130398099/article/details/83240214
今日推荐