目录
1、方法重载(overload)和重写(override)的区别
一、选择题
1、关于可变形参,以下说法正确的是()
A.一个方法允许传入无数个类型相同的参数
B.一个方法允许传入无数个类型不同的参数
C.一个方法允许定义无数个可变形参
D.可变形参可以放在形参列表的任何位置
参考答案:A
如果有多个参数,可变参数一定一定放在最后面,一个方法只能有一个可变参数
public void comp(int ... items){}
public void comp(int a,int b){}
Test t=new Test();
t.comp(1,2);[//]: # ()//优先调用参数个数定长的
t.comp(1,2,3);
2、以下说法错误的是()
A.使用new关键字产生对象会调用构造方法
B.静态块会在构造方法被调用之前执行且只执行一次
C.main方法不必产生对象即可被调用
D.使用new关键字产生对象会调用main方法 //其他方法
参考答案:D
静态代码块:static{}
实例化代码块:{}
先执行static{},后执行{},在执行构造方法
3、以下说法错误的是()
A.只要实例存在,成员变量即存在
B.成员变量有默认值
C.局部变量可以不赋值,在使用时会自动赋给默认值
D.成员变量与局部变量的生命周期是不同的
参考答案:C
成员变量系统默认初始化,局部变量必须自己初始化
4、关于重载以下说法错误的是()
A.普通方法,构造方法都可以重载
B.重载是同一个类当中多态的体现
C.重载要求形参的个数,类型,次序至少有一个不一样
D.重载要求返回值类型必须一至
参考答案:D
5、关于this说法错误的是()
A.访问变量时,变量前面可以用this
B.调用方法时,方法前面可以用this
C.this可以用在构造方法中
D.this可以用在静态块中
参考答案:D
类里面的静态方法不能访问类的非静态成员,在本类的方法中访问本类的其它成员用this,静态的方法是不用对象调用的,而是类名来访问,根本就没有对象存在,也就没有this引用了,便不能访问类里面的非静态成员,又因为类里面的静态成员是可以不用对象来访问的,所以类里面的静态方法只能访问类的静态的属性
6、关于static方法调用错误的是()
A.静态方法可以直接访问静态变量和静态方法
B.静态方法中,不能使用this关键字
C.static的类和方法优于对象之前加载
D.静态方法能直接访问普通成员变量或成员方法
参考答案:D
7、关于final,以下描述正确的是()
A.final修饰一个变量时,变量引用可变
B.final修饰一个变量时,变量内容可变
C.final修饰类的成员变量时,成员变量可以不在定义时初始化,而在构造函数中初始化
D.final修饰一个类的时候,该类的子类不能覆盖父类已实现的方法
参考答案:C
final是最终的,不可修改的,类不可继承
8、JAVA中,final修饰的类、成员方法、变量说法错误的是()
A.final修饰的类不能被继承
B.final修饰的方法不能被覆盖
C.final修饰的变量不能被修改
D.final修饰的变量不需要显示初始化