选择题
- `类 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,太绝对化了,在类中申请一个类对象或者参数传递一个对象或者指针都可以调用;