1.以下代码执行的结果是
class Base{
public void method(){
System.out.println("Base");
}
}
class Son extends Base{
@Override
public void method() {
System.out.println("Son");
}
public void methodB(){
System.out.println("SonB");
}
}
public class Test01 {
public static void main(String[] args) {
Base base = new Son();
base.method();
base.methodB();
}
}
A Base SonB
B Son SonB
C Base Son SonB
D 编译不通过
第二题
2.经过强制类型转换以后,变量a, b的值分别为( )short a = 128; byte b = (byte) a;
A128127
B128-128
C128128
D编译错误
3.Object的方法有:hashCode() ,clone(),equals,toString(),finalize()
第四题
4下面代码的输出结果是:
class Print{
static boolean out(char c){
System.out.print(c);
return true;
}
public static void main(String[] args) {
int i = 0;
for (out('A');out('B')&&(i < 2) ;out('C')){
i++;
out('D');
}
}
}
A ABDCBDCB
B BCDABCD
C编译错误
D运行错误
第五题
一个以“.java”为后缀的源文件
A只能包含一个public类,类名必须与文件名相同
B只能包含与文件名相同的public类以及其中的内部类
C只能有一个与文件名相同的public类,可以包含其他非public类(不考虑内部类)
D可以包含任意public类
第六题
下面哪个标识符是合法的
A"9HelloWorld"
B"_Hello World"
C"Hello*World"
D"Hello$World"
第七题
关键字super的作用是?
A用来访问父类被隐藏的非私有成员变量
B用来调用父类中被重写的方法
C用来调用父类的构造函数
D以上都是
第八题
子类A继承父类B,Aa=newA();则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块执行的先后顺序是?
A 父类B静态代码块->父类B构造函数->子类A静态代码块->父类B非静态代码块->子类A构造函数->子类A非静态代码块
B 父类B静态代码块->父类B构造函数->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块
C 父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数
D 父类B构造函数->父类B静态代码块->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块
第九题
instanceof运算符能够用来判断一个对象是否为:
A一个类的实例
B一个实现指定接口的类的实例
C全部正确
D一个子类的实例
1.D
编译一定不通过,父类的引用指向子类的对象,属于向上转型
这个引用只能调用Base(父类)的方法,所以编译不通过
除非((Son) base).methodB();
2.B
short 2个字节16位 0…10000000
byte 10000000 1个字节8位 -128~127 等价于 1000_0000~0111_1111
此时最高位为符号位
此时就是-128呀
出 short a = 255; byte b = (byte) a
此时b=-1呀
4.A
考察你对for循环的理解呀, for (out(‘A’);out(‘B’)&&(i < 2) ;out(‘C’)) ,第一层初始化打印一个A,判断打印一次B,然后进入循环i+1并且打印D…,然后更新条件打印C
5.C审题
6.标识符合法
标识符是指字母开头的字母数字序列
A;不可以数字开头 B用下划线开头是符合但是中间有空格 C不能包含*
总结 不数字开头,不空格,不星号有钱就对了.
7D
super关键字的作用,坊隐变,调覆写,调构造
第八题文哥的C
第九题
C
instance 是Java的二元运算符,用来判断他左边的对象是否为右面类(接口,抽象列,父类)的实例
劈里啪啦