




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java面试题总结一 一 选择题 1 要创建一个类 下面的哪种定义方式是正确的 A staticclassFooBar B privateclassFooBar C abstractclassFooBar D finalabstractclassFooBar 1 答案 C A 用static可以修饰内部类 普通类是不允许声明为静态的 只有内部类才可以 被static修饰的内部类可以直接作为一个普通类来使用 而不需实例一个外部类 B不能用protected和private修饰类 D abstract修饰的类是用于继承的 而final修饰的类不能被继承 故final和abstract不能同时修饰类 2 根据下面的代码 哪一个结论是正确的 publicclassTest publicintmethodA staticinti 0 i returni A 编译失败B 编译成功 并且返回值为 0 C 编译成功 并且返回值为 1 D 编译成功 并且返回值为 2 2 答案 A 解析 static变量是不属于方法的 是属于一个类的 是在类加载的时候执行的 也就是初始化 而方法则是在类实例化的时候才开始执行 所以在方法里定义static变量不可以 所以会出现编译错误 3 在下面的代码中 当 m 的值为 0 时输出的结果是什么 Switch m case0 System out println 0 case1 System out println 1 default System out println A case2 System out println 2 case3 System out println 3 A 编译失败B 编译成功 并且输出01AC 编译成功 并且输出01A23D 编译成功 并且输出0123A 3答案 C 原因 case语句分支中没有break语句 将执行所有的分支 4 在下面的代码中 输出的结果是什么 publicclassTest staticbooleanfoo charc System out println c returntrue publicstaticvoidmain String args inti 0 for foo A foo B A 编译失败B 在运行时抛出异常C ABDCBDCBD ABCDABCD 4 答案 C 连接多个表达式时 当有一个表达式为假时整个表达式的值为假 foo 函数的返回值为真 退出循环的条件i值等于2 5 根据下面的代码 哪一个结论是正确的 publicclassIfElse publicstaticvoidmain Stringargs if odd 5 System out println odd else System out println even publicstaticintodd intx returnx 2 A 输出结果为 odd B 输出结果为 even C 由第3行代码导致编译失败D 由第7行代码导致编译失败 5 答案 C Java当中的布尔类型值只有True和False odd 5 的返回值为3 所以会出现编译错误 6 再下面的代码中 输出的结果为 publicclassStringTest publicstaticvoidmain String args Stringstr1 Iamstring Stringstr2 Iamstring Stringstr3 newString str2 System out println str1 str2 System out println str1 str3 System out println str1 equals str2 System out println str1 equals str3 A true true true trueB true false true trueC true false true falseD false true true false 6答案 B String字符串具有常量不变性 和equals的判别规则 比较两个变量的值是否相等 变量可能是基本数据类型也可能是引用数据类型 基本数据类型比较值是否相等 引用数据类型比较地址是否相等 equals是比较两个对象变量所代表的对象内容是否相等 自定义的对象需要重写equals方法来判断相等 7 在下边的代码中 若A处出现异常 执行的结果是什么 publicclassTest publicstaticvoidmain String args try System out println BeforeA ASystem out println AfterA catch Exceptione System out println catch finally System out println finally A 输出 BeforeA AfterA catch finally B 输出 BeforeA catch finally C 输出 BeforeA catch D 输出 catch finally 7答案 B 当发生异常时 跳转到catch语句 最后执行finally 8 根据下面的代码 哪一种结论是正确的 privatebooleancheckFlag Strings booleanflag false if s equals error flag true returnflag A 编译正常 运行正常B 编译正常 运行异常C 编译异常 8 C 当if语句条件为假时 没有返回值 故编译不通过 9 根据下面的代码 哪一种结论是正确的 intindex 1 Boolean test newBoolean 3 Booleanfoo test index A foo 0B foo nullC foo trueD foo false 9答案 B 解析 引用类型的默认值为null 10 根据下面的代码 哪一种结论是正确的 classA publicvoidmain String args Strings testString s publicvoidTestString StringstrTemp if strTemp equals strTemp null System out println stTempis ornull else System out println strTempisnot andnull A 输出 strTempis ornull B 输出 strTempisnot andnull C 编译时出现错误D 编译成功 并且运行正常 10答案 C s未被赋初值 应改为Strings null或Strings newString System out println strTempisnot andnull 中应为字符串 11 在继承了A类的子类中 下面的那两个方法是正确的 classA protectedintmethod1 inta intb return0 A publicintmethod1 inta intb return0 B privateintmethod1 inta intb return0 C privateintmethod1 inta longb return0 D publicshortmethod1 inta intb return0 E staticprotectedintmethod1 inta intb return0 11答案 AC B项错误原因 问权限扩大 方法重载要求访问权限不能缩小D项错误原因 参数列表没有改变 不能构成重载 E项错误原因 既不能构成重构也不能构成重载 二 问答题 1 请写出下面代码中的输出结果 父类 publicclassFatherClass publicFatherClass System out println FatherClassCreate 子类 publicclassChildClassextendsFatherClass publicChildClass System out println ChildClassCreate publicstaticvoidmain String args FatherClassfc newFatherClass ChildClasscc newChildClass 输出结果为 1 输出结果 FatherClassCreateFatherClassCreateChildClassCreate解析 程序执行到newFatherClass 时 调用父类的构造方法输出 FatherClassCreate 程序执行到newChildClass 时 编译器先调用父类默认无参的构造方法 输出 FatherClassCreate 再调用本身的构造方法输出 ChildClassCreat 2 请说明 shorts1 1 s1 s1 1 有什么错 shorts1 1 s1 1 有什么错 2解析 1 s s 1 此表达式的之行分两步 第一步将s的值和1相加 然后将s加1的值赋给s 在s和1相加的过程中 s首先转换成int型再和1相加 得到一个整型的值 再赋给s 而s的类型是short 将一个int型值赋给一个short型值 会发生编译错误 2 s 1 符号运行时会发生自动类型转换 3 请说明 Math round 11 5 等于多少 Math round 11 5 等于多少 3 答案 1 12 2 11 三 程序找错 1 abstractclassName privateStringname publicabstractbooleanisStupidName Stringname 1答案 错误 错因 抽象方法 没有方法体 以分号结束 正形式如下 abstractclassName privateStringname publicabstractbooleanisStupidName Stringname 2 publicclassSomething voiddoSomething privateStrings intl s length 2答案 错误 错因 访问修饰符 public protected Private 不能修饰局部变量 可以修饰成员变量 3 abstractclassSomething privateabstractStringdoSomething 答案 错误错因 Private修饰的方法不能被继承 而abstract修饰的方法是用来继承的 所以二者不能同时修饰方法 4 publicclassSomething publicintaddOne finalintx return x 4答案 错误 错因 final关键字修饰的变量是常量 其值不能改变 5 publicclassSomething publicstaticvoidmain String args Othero newOther newSomething addOne o publicvoidaddOne finalOthero o i classOther publicinti 5答案 正确 原因 在addOnemethod中 参数o被修饰成final 如果在addOnemethod里我们修改了o的引用 比如 o newOther 那么如同上例这题也是错的 但这里修改的是o的成员变量 而o的引用并没有改变 6 classSomething inti publicvoiddoSomething System out println i i 6答案 正确 原因 输出的是 i 0 inti属於instantvariable 实例变量 或叫成员变量 instantvariable有defaultvalue int的defaultvalue是0 7 classSomething finalinti publicvoiddoSomething System out println i i 7答案 错误错因 final修饰的成员变量没有初始值 必须在constructor 构造器 结束之前被赋予一个明确的值 可以修改为 finalinti 0 8 publicclassSomething publicstaticvoidmain String args Somethings newSomething System out println s doSomething returns doSomething publicStringdoSomething return Dosomething 8答案 错误错因 静态方法中不能直接调用非静态的方法 因为类中static块程序是在类被装载的时候开始执行 而不是在创建对象的时候执行 可改成 System out println s doSomething returns s doSomething 声明为static的方法有以下几条限制 它们仅能调用其他的static方法 它们只能访问static数据 它们不能以任何方式引用this或super 9 此处 Something类的文件名叫OtherThing javaclassSomething privatestaticvoidmain String something to do System out println Dosomething 9 答案 运行时错误 Main方法声明为private 编译器找不到main方法 10 interfaceA publicstaticfinalintx 0 classB intx 1 classCextendsBimplementsA publicvoidpX System out println x publicstaticvoidmain String args newC pX 答案 错误 错因 在编译时会发生错误 错误描述不同的JVM有不同的信息 意思就是未明确的x调用 两个x都匹配 就象在同时importjava util和java sql两个包时直接声明Date一样 对于父类的变量 可以用super x来明确 而接口的属性默认隐含为publicstaticfinal 所以可以通过A x来明确 11 interfacePlayable voidplay interfaceBounceable voidplay interfaceRollableextendsPlayable Bounceable Ballball newBall PingPang classBallimplementsRollable privateStringname publicStringgetName returnname publicBall Stringname this name name publicvoidplay ball newBall Football System out println ball getName 11 答案 错误原因 接口中的变量默认为public final 凡是前面有了final修饰符后 该对象或变量将不能更改 对象使用final后 你只能改变此对象属性 而不能其指向其它对象 接口Rollable中的ball变量为public static final classBall实现了接口Rollable 此时classBall中的ball有final关键字修饰 而语句 ball newBall Football 企图使ball指象一个新的对象 因此会出现编译错误 JAVA编程题 1 现在输入n个数字 以逗号 分开 然后可选择升或者降序排序 按提交键就在另一页面显示按什么排序 结果为 提供reset importjava util publicclassbycomma publicstaticString splitStringByComma Stringsource if source null source trim equals returnnull StringTokenizercommaToker newStringTokenizer source String result newString commaToker countTokens inti 0 while commaToker hasMoreTokens result i commaToker nextToken i returnresult importjava util publicclassbycomma publicstaticString splitStringByComma Stringsource if source null source trim equals returnnull StringTokenizercommaToker newStringTokenizer source String result newString commaToker countTokens inti 0 while commaToker hasMoreTokens result i commaToker nextToken i returnresult 问题 3 设计4个线程 其中两个线程每次对j增加1 另外两个线程对j每次减少1 写出程序 publicclassThreadTest1 privateintj publicstaticvoidmain Stringargs ThreadTest1tt newThreadTest1 Incinc tt newInc Decdec tt newDec for inti 0 i 2 i Threadt newThread inc t start t newThread dec t start privatesynchronizedvoidinc j System out println Thread currentThread getName inc j privatesynchronizedvoiddec j System out println Thread currentThread getName dec j 接上页代码 这是两个内部类classIncimplementsRunnable publicvoidrun for inti 0 i 100 i inc classDecimplementsRunnable publicvoidrun for inti 0 i 100 i dec 问题 4 写一个Singleton出来 4参考 Singleton模式主要作用是保证在Java应用程序中 一个类Class只有一个实例存在 一般
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文化产业与市场营销专业考试试题及答案
- 2025年图书馆与信息管理职业能力测试试题及答案
- 2025年统计师职业资格考试试卷及答案
- 2025年室内设计与装饰艺术试卷及答案
- 2025年市场调查专业研究生入学考试卷及答案
- 2025年声音与音乐治疗技术相关考试试卷及答案
- DSPE-PEG2000-GRGDS-生命科学试剂-MCE
- 2025年全国公务员考试题及答案
- 2025年农业经济与国家政策考试试题及答案
- 2025年生态环境专业期末测评考试试卷及答案
- 智能机器人技术下的智慧校园建设
- 动火作业施工方案
- 律所财务绩效评估-全面剖析
- 2025年苹果树种植行业市场需求分析
- 露天煤矿安全用电知识课件
- 食品安全自查、从业人员健康管理、进货查验记录、食品安全事故处置等保证食品安全的规章制度
- 2024湖南职高对口高考美术类本科指标人数
- 2025年中考语文二轮复习:字词积累 练习题(含答案)
- 基于PLC的自动生产线控制系统的设计毕业论文
- 会计研究方法论 第4版 课件 第10章 因果关系推断与内生性问题处理
- 居民急救知识培训课件
评论
0/150
提交评论