gfdgfdgf
一、选择题
1、关于super关键字以下说法哪些是不正确的?( )
A.super关键字可以调用父类的构造方法
B.super关键字可以调用父类的普通方法
C.super与this不能同时存在于同一个构造方法中
D.super与this可以同时存在于同一个构造方法中
2、一个具体类实现接口时,需要重写接口中的( )
A.默认方法 B.局部变量 C.抽象方法 D.类方法
3、在类的继承关系中,需要遵循以下哪个继承原则?( )
A.多重 B.单一C.双重 D.不能继承
4、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?( )
A.public B.protected C.private D.default
5、下列关于throws关键字的说法中,错误的是()
A、throws关键字用于抛出异常
B、可以使用throws关键字一次抛出多种类型的异常
C、使用throws关键字抛出的异常,后续调用者在使用时无需处理
D、使用throws关键字抛出异常后,程序可以编译通过
6、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?( )
A.inherits B.implements C.extends D.modifies
7、现有两个类A、B,以下描述中表示B继承自A的是( )
A.class A extends B B. class B implements A
C.class A implements B D. class B extends A
8、下列关于继承的描述中,错误的是( )
A.在Java中,类只支持单继承,不允许多重继承,也就是说一个类只能有一个直接父类
B.多个类可以继承一个父类
C.在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类
D.Java是支持多继承的
9、下面哪个选项可以获取Runtime类的实例( )
A.Runtime r = new Runtime();
B.Runtime r = Runtime.getRuntime();
C.Runtime r = Runtime.getInstance();
D.以上选项都不能获取Runtime实例
10、StringBuffer类的append()方法的返回值类型是( )
A. String B.void C.StringBuffer D.StringBuilder
11、下列选项中,对Math.random()方法描述正确的是( )
A.返回一个不确定的整数
B.返回0或是1
C.返回一个随机的double类型数,该数大于等于0.0小于1.0
D.返回一个随机的int类型数,该数大于等于0.0小于1.0
12.下列是Random类的一些常用方法,其中能获得指定范围随机数的方法是( )
A、nextInt()
B、nextLong()
C、nextBoolean()
D、nextInt(int n)
13、已知String s="abcdefg",则s.substring(2,5)的返回值为( )
A."bcde" B."cde" C."cdef" D."def"
14、以下都是Math类的常用方法,其中用于计算绝对值的方法是哪?( )
A.ceil() B.floor() C.abs() D.random()
15、下面哪个方法可以实现获取字符在某个字符串中第一次出现的索引( )
A.charAt(int index)
B. indexOf(int ch)
C.lastIndexOf(int ch)
D.endsWith(String suffix)
16、System类的getProperties()方法的作用是( )
A.获取当前的操作系统的属性
B.获取当前JVM的属性
C.获取指定键指示的操作系统属性
D.获取指定键指示的JVM的属性
17、下列方法中可以用于往HashSet集合中添加元素的是( )
A.add(Ee)
B.contains(Objecto)
C.clear()
D.iterator()
18、以下关于foreach的说法中,哪一个是错误的( )
A.使用foreach遍历集合时,可以对元素进行修改。
B、foreach可以对数组进行遍历。
C、foreach可以对集合进行遍历。
D、foreach循环是一种更加简洁的for循环,也称增强for循环。
19.使用Iterator时,判断是否存在下一个元素可以使用以下哪个方法?(V
A.next()
B.hash()
C.hasPrevious()
D.hasNext
20.要想在集合中保存没有重复的元素并且按照一定的顺序排列,可以使用以下哪个( )集合
A.LinkedList
B.ArrayList
C.hashSet
D.TreeSet
二、判断题(对的打“√”,错的打“×”)
1.编译异常如果产生了,要求我们在必须处理,要么捕获,要么抛出。( )
2. StringBuffer类是可变对象,String类是不可变对象。( )
3.如果一个方法要抛出多个异常,可以使用throws进行声明。( )
4.当一个类的方法被final关键字修饰后,这个类的子类可以重写该方法。( )
5.抽象方法必须定义在抽象类中,所以抽象类中的方法都是抽象方法。( )
6. StringBuffer类和String类一样,都是不可变对象。( )
7.Map接口是一种双列集合,它的每个元素都包含一个键对象Key和值对象Value。( )
8.DateFormat是一个抽象类,不能被直接实例化。( )
9.String类的equals()方法和“= =”的作用是一样的。( )
10.System.getProperties()方法可以获取操作系统的属性。( )
三、填空题
1.在定义方法时不写方法体,这种不包含方法体的方法为【 】方法。
2、一个类如果实现一个接口,那么它就需要实现接口中定义的全部【 】,否则该类就必须定义成抽象类。
3、在程序,获取字符串长度的方法是【】。
4、在程序中需要调用其静态方法【 】来得到一个Calendar对象。
5、JAVA中 int类型对应的包装类是【 】。
6、在使用Calendar.MONTH字段时,月份的起始值是从【 】开始的。
7、Collections集合工具类位于【 】包中
8、【 】循环是一种更加简洁的for循环,也成增强for循环,其用来遍历数组或集合中的元素。
9、集合按照其存储结构可以分为两大类,即单列集合【 】和双列集合【 】。
10、Map中的映射关系是【 】的。
三.程序题
1、设计一个Shape接口和它的两个实现类Square和Circle。要求如下:
(I)Shape接口中有一个抽象方法area(),方法接收有一个double类型的参数,返回double类型的结果。
(2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的积并返回。
在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形积。
2、请编写一个StringDemo类,在主方法中实例化String类,初始化值为”itcast”,输出String初始化值。
利用Random类产生5个20-30之间的随机整数。