java基础知识练习题与总结

本文深入探讨了Java的基础概念和技术细节,包括抽象方法、方法重载、字符串操作、集合类特性、多线程实现方式等内容,并附带了典型例题解析。

Java基础

1. 下列哪一种叙述是正确的( D 

A abstract修饰符可修饰字段、方法和类 (可以修饰方法和类不可以修饰字段)

B 抽象方法的body部分必须用一对大括号{ }包住(抽象方法没有方法体)

C 声明抽象方法,大括号可有可无 (抽象方法没有方法体)

D 声明抽象方法不可写出大括号

 

2. 现有类Test,在横线处填写哪项会报错( A )

public class Test {

public String myOverLoad(int i,String str){return null;}

                                                                                       

}

A public String myOverLoad(String str,int i){return null;}

(方法重载与形参位置无关,与个数和类型有关)

B public void myOverLoad(){}

C public void myOverLoad(String str){}

D public void myOverLoad(int i,String str){return null;}

 

3.  Math.round(11.5)返回(  A )Math.round(-11.5)返回( D  )

A 12四舍五入结果)  B 11 C -12 D -11

 

4. 是否可以继承String(B )

A 可  B 不可String类被final修饰为最终类不能被继承

 

5. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code( B)

A会执行,在return前执行

B会执行,在return后执行finally {}无论什么情况都会执行,在return后,返回值前切记返回值前

C不会执行

D编译错误

 

6. swtich不能作用在(D )

A int

B short

C long

D byte

 

7. 以下关于String描述正确的是(   ABC )多选

A String 不可变StringBufferStringbuilder可变

B StringBuilder是非线程安全的

C StringBuffer是线程安全的

D 以上都不对

 

8. String s = "HelloWorld";

String s1 = new String("HelloWorld");

System.out.println(s.equals(s1));输出( A)

A true(一个内存地址)  B false  C null  D 编译错误

 

9. 今天是2015612日,以下能将今天日期格式化为2015-06-12字串的日期格式化对象是(  D )

A new SimpleDateFormat("yyyy-mm-dd")

B new SimpleDateFormat("yyyy-mm-DD")

C new SimpleDateFormat("yyyy-MM-DD")

D new SimpleDateFormat("yyyy-MM-dd")(只有MM月大写

 

10. 数组( B  length()这个方法; String A length()这个方法

A 有  B 没有 (数组时属性非方法)

 

11. Vector是线程安全的(A )

A 对  B不对

 

12. ArrayList无序的容器( B)

A对  B不对(有序,可重复)

 

13. HashSet无序 ( A  )LinkedHashSet(没见过)无序 (  B)

A   B不对

 

14. HashMap无序 ( A ),LinkedHashMap(没见过)有序( B)

A对  B不对

 

15.  以下哪些类实现了/继承了Collection接口 ( C)多选

A Vector属于List接口下并继承Collection接口

B TreeSet(属于Set接口下并继承Collection接口

C HashMap(属于Map接口下

D ArrayList(属于List接口下并继承Collection接口

 

16. 以下描述正确的是 C  

A  Set可重复(不可重复) ,比如set.add(1);set.add(1);set将会存储2个元素:{1,1}

B  HashMapKey可重复(不可重复),比如map.put(1,”a”);map.put(1,”b”),map将会存储2个元素:{1=a,1=b}

C  ArrayList存储的数据可重复,比如arrayList.add(1);arrayList.add(1)arrayList 将会存储2个元素:[1,1]

D  以上都不对

 

17. 以下哪种方法可以实现多线程(  AB    )多选

A 继承Thread只能单继承缺点,重写run方法

B 实现 Runnable接口(可以多继承,现实run方法

C 实现Callable接口

D 实现run方法

 

18. java正则表达式中,表示一个或者多个空格的是 (  B 

A \s*

B \s+

C \S{1,n}

D \S{1}

 

19. java正则表达式中,表示数字的是 ( C  

A \w

B \i

C \d

D \m

 

20. 以下可以处理字符流的类是(  B 

A javAio.BufferedInputStream

B javAio.BufferedReaderReader字符流类

C javAio.FileInputStream

D javAio.FilterOutputStream

 

21. 下列代码中不能获取到Class类的对象的是(D  )

A String str = "abc"; Class c1 = str.getClass();

(通过Object类的getClass()方法

B Class c2 = int.TYPE;(等同int.class)

C Class c1 = Class.forName ("javAlang.String");

(通过Class类的静态方法forNameString 类名)

D Button b = new Button(); Class c1 = BgetClass();

Class c2 = c1.getSuperclass();

 

22. 下列方法中用于定义线程的执行体的是( C  )

A start()线程就绪

B init()servlet初始化

C run()

D synchronized()同步方法

通过题目总结自己欠缺知识点:

Object类
该类是所有类的父类,也就是说所有类继承Object类,类的鼻祖。
Object类有大量的方法可以被其子类重写,比较常用的有:equals()、toString()、clone()、getClass()、
hashCode()返回该对象的哈希代码值
继承
子类继承父类extends,子类继承了父类哪些东西?
如果父类属性和方法修饰符为public,本类可见,同包可见,子类可见,不同包也可见。
如果父类属性和方法修饰符为protected,本类可见,同包可见,子类可见。
如果为默认修饰符,本类可见,同包可见。
如果为private修饰符,本类可见。
方法重写
说重写必然存在继承关系,子类重写父类方法约束!
子类的方法名必须与父类被重写的方法名相同
子类的形参必须与父类被重写的参数相同
子类的返回值必须和父类一致或是其子类
子类方法不能缩小父类方法可见权限
方法重载
说到重载必然是一个类中发生的事情,方法的重载约束!
方法名必须一致
参数个数和类型必须不同
与方法修饰符和返回值类型无关

评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值