Java面向对象编程考试重点解析

版权申诉
0 下载量 126 浏览量 更新于2024-08-20 收藏 59KB DOC 举报
"java面向对象考试题.doc" 这些Java面向对象的考试题目主要涵盖了字符串操作、方法重载、正则表达式以及封装等基础知识。 第一题: 该题考察了字符串处理的方法。`fileName.endsWith(".exe")`是判断字符串`fileName`是否以".exe"结尾。如果满足条件,程序会使用`substring`方法截取字符串。`substring(0, fileName.lastIndexOf(".exe"))`截取的是从索引0开始到".exe"最后一次出现位置前的子字符串,即去掉".exe"后的部分。因此,正确答案是bcdcdeefg,它显示了所有以".exe"结尾的文件名去掉".exe"后的结果。 第二题: 此题涉及Java的数据类型转换和方法重载。`go`方法有三个重载版本,分别接收Long、Short和int类型的参数。当调用`go(y)`时,尽管`y`是short类型,但Java在传参时会将其提升为int类型,因此调用了接受int参数的方法。所以输出为"int"。而`go(z)`因为`z`是long类型,直接匹配了接收Long参数的方法,输出为"Long"。答案是"intLong"。 第三题: 这道题考查的是字符串的分割操作。`test.split(regex)`使用正则表达式`.\\s*`来分割字符串`test`。这个正则表达式匹配一个点号(.)后可能存在的零个或多个空格。由于输入的字符串`test`中没有空格,所以结果是原始字符串的各个部分,即`TestATestBTestC.`。去除末尾的句点,答案是"TestATestBTestC"。 第四题: 该题涉及到Java的封装。类AA有两个成员变量`userId`和`nickName`,它们都是私有的(private),这意味着它们不能在类的外部直接访问。为了访问这些私有变量,提供了公共的getter和setter方法。`getUserId()`用于获取`userId`的值,`setUserId(Long userId)`用于设置`userId`的值。这展示了Java的封装原则,确保数据的安全性并提供对外统一的接口。 这些题目揭示了Java编程中的一些核心概念,包括字符串操作、类型转换、方法重载、正则表达式以及面向对象的封装特性。掌握这些知识点对于理解和编写高质量的Java代码至关重要。