单选题
1.在进行类型转换时,为了避免转换异常需要先进行类型的判断,对应的关键字是?C
A、 extends
B、 implements
C、 instanceof
D、 equals
2以下程序的输出结果?A
public class Demo1 {
public static void main(String[] args) {
Animal a = new Dog();
System.out.println(a.name);
}
}
class Animal{
String name = "动物";
}
class Dog extends Animal{
String name = "狗";
}
---------方法无多态性
A、 动物
B、 狗
C、 编译错误
D、 null
3.Java中所有类的父类是D
A、 String
B、 Class
C、 Objects
D、 Object
4.编译如下Java代码,输出结果是B
class Base{
public void method(){
System.out.print("Base method");
}
}
class Child extends Base{
public void method(){
System.out.print("Child method");
}
}
class Demo{
public static void main(String[] args){
Base base=new Child();
base.method();
}
}
A、 Base method
B、 Child method
C、 Base method Child method
D、 编译错误
5.以下关于接口的说法中,正确的是B
A、 接口中全部方法都是抽象方法,方法可以是任意访问权限。
B、 接口中属性都是使用public static final修饰。
C、 接口可以有构造方法。
D、 接口可以直接创建对象 。
6.下列Java代码中,小括号中填入正确代码是C
public class Test {
public static void main(String[] args){
Person p=new Student();
//判断p是否是Student类型
if(_____){
Student s = (Student)p;
s.study();
}
}
}
class Person{
public void eat(){
System.out.print("吃饭");
}
}
class Student extends Person{
public void study(){
System.out.print("学习");
}
}
A、 p instanceof Person
B、 p instanceof Object
C、 p instanceof Student
D、 Student instanceof Person
7.已知Animal是父类,Dog是子类。以下代码,强转格式正确的是D
A、 Dog dog = a;
B、 Dog dog = Dog(a);
C、 Dog dog = (Animal)a;
D、 Dog dog = (Dog)a;
8.关于Object类中的equals方法,说法正确的是C
A、 equals方法的作用是返回对象的地址值。
B、 equals方法,默认是比较两个对象的属性值是否一样。
C、 String类重写了Object的equals方法,比较两个字符串的内容是否相同。
D、 子类一定要重写equals方法 。
9.执行以下代码,输出结果分别是A
System.out.println( Math.ceil(3.5) );
System.out.println( Math.floor(3.5) );
A、 4.0 3.0
B、 3.0 4.0
C、 3.0 3.0
D、 4.0 4.0
10.执行以下代码,输出结果是D
System.out.println( Math.pow(2,3));
A、 6.0
B、 5.0
C、 27.0
D、 8.0
11.已知字符串String s = “10”,以下选项能将s转为int类型的是C
A、 int a = s;
B、 int a = (int)s;
C、 int a = Integer.parseInt(s);
D、 int a = s.parseInt();
12.将日期按照"2020-08-10 14:20:30"这样的格式输出,横线处填入的模板正确的是 C
SimpleDateFormat sf = new SimpleDateFormat("_________");
Date date = new Date();
String strDate = sf.format(date);
A、 yyyy-mm-dd hh:mm:ss
B、 YYYY-MM-DD hh:mm:ss
C、 yyyy-MM-dd HH:mm:ss
D、 2020-08-10 14:20:30
13.在正则表达式中,预定义字符"."表示什么意思?A
A、 匹配任意一个字符。
B、 匹配一个空格。
C、 匹配任意长度的字符串。
D、 匹配一个小数点。
14.以下哪个是基本类型的包装类B
A、 Char
B、 Long
C、 Object
D、 Int
15.以下代码,语法不会报错的是C
A、 int a = 10;
String s = a;
B、 Boolean b = "true";
C、 Integer a = null;
D、 int a = null;
多选题
16。下列对于多态的描述哪些是正确的ABCD
A、 想要实现多态,必须要有类的继承或者接口实现的前提。
B、 实现多态,需要有方法重写。
C、 Java的多态特指行为的多态,成员变量没有多态性。
D、 多态的前提下,不能直接访问子类特有方法。
17.关于Object类中的toString方法,说法正确的是ABC
A、 任何对象都可以调用toString方法。
B、 toString方法默认是打印对象的地址值。
C、 直接输出对象名时,其实就是调用了对象的toString方法。
D、 Java类一定要重写toString方法,否则不能使用该方法 。
18.下面说法中正确的是:AB
A、 类是对象的抽象,对象是类的实例。
B、 java接口支持多继承。
C、 java类支持多继承。
D、 面向对象的三大特征是封装,继承,抽象。
19.以下关于Object类的说法正确的是?BD
A、 Object类不能创建对象。
B、 Object类是Java中所有类的直接或间接父类。
C、 Object类的方法都是抽象方法。
D、 Object类的toString方法,默认打印对象的地址值。
20.以下选项,能正确获取当前时间毫秒值的是BC
A、 System.getTime();
B、 System.currentTimeMillis();
C、 Date d = new Date();
d.getTime();
D、 Date.getTime();
21.关于枚举的说法正确的是ABD
A、 定义枚举使用关键字enum。
B、 访问枚举值的格式是:枚举名.枚举值。
C、 枚举的本质也是Java类,所以可以被其他类继承。
D、 不能使用枚举创建对象。
22.以下正则表达式的匹配结果为true的是BC
A、 "123".matches("[0-9]");
B、 "123".matches("[0-9]+");
C、 "123".matches("\\d{3}");
D、 "123".matches("[123]");
23.在Java中,下面关于抽象类的描述正确的是BD
A、 抽象类可以直接创建对象。
B、 如果一个类中有抽象的方法,那么这个类必须是抽象类。
C、 抽象类中的方法必须都是抽象的。
D、 声明抽象类使用关键字abstract 。