`

Java程序查错

 
阅读更多

Java代码查错题:

1.

答案: 错。abstract method必须以分号结尾,且不带花括号。

2.

 

有错吗?
答案: 错。局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量
(final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。

3.

 

答案: 错。abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节的,怎么可以用private把abstract
method封锁起来呢?(同理,abstractmethod前不能加final)。

4.

答案: 错。int x被修饰成final,意味着x不能在addOne method中被修改。

 

5.

 

和上面的很相似,都是关于final的问题,这有错吗?
答案: 正确。在addOne method中,参数o被修饰成final。如果在addOne method里我们修改了o的reference
(比如: o= new Other();),那么如同上例这题也是错的。但这里修改的是o的member vairable
(成员变量),而o的reference并没有改变。


6.

  

答案: 正确。输出的是"i = 0"。int i属於instant variable (实例变量,或叫成员变量)。instant variable有default value。int的default value是0。


7.

 

答案: 错。final int i是个final的instant variable (实例变量,或叫成员变量)。final的instant variable没有default value,必须在constructor (构造器)结束之前被赋予一个明确的值。可以修改为"final int i = 0;"。


8.

  

答案: 错。看上去在main里call doSomething没有什么问题,毕竟两个methods都在同一个class里。但仔细看,main是static的。static method不能直接call non-static methods。可改成"System.out.println("s.doSomething()returns " + s.doSomething());"。同理,static method不能访问non-static instant variable。


9.此处,Something类的文件名叫OtherThing.java

答: 正确。从来没有人说过Java的Class名字必须和其文件名相同。但public class的名字必须和文件名相同。


10.

 

答案:错误。在编译时会发生错误(错误描述不同的JVM有不同的信息,意思就是未明确的x调用,两个x都匹配(就象在同时import java.util和java.sql两个包时直接声明Date一样)。对于父类的变量,可以用super.x来明确,而接口的属性默认隐含为 public static final.所以可以通过A.x来明确。


11.

 


这个错误不容易发现。
答案: 错。"interface Rollable extendsPlayable, Bounceable"没有问题。interface可继承多个interfaces,所以这里没错。问题出在interface Rollable里的"Ball ball = newBall("PingPang");"。任何在interface里声明的interface variable (接口变量,也可称成员变量),默认为public static final。也就是说"Ball ball = new Ball("PingPang");"实际上是"public static final Ballball = new Ball("PingPang");"。在Ball类的Play()方法中,"ball = newBall("Football");"改变了ball的reference,而这里的ball来自Rollable interface,Rollable interface里的ball是public static final的,final的object是不能被改变reference的。因此编译器将在"ball = newBall("Football");"这里显示有错。

分享到:
评论

相关推荐

    Java实现单词查询程序

    在本项目中,我们主要探讨的是使用Java编程语言来实现一个单词查询程序,该程序具有英汉互译的功能,旨在提供一个用户友好的界面,使得单词查询和学习变得轻松便捷。下面将详细介绍这个项目的实现原理、关键技术以及...

    JAVA语言代码查错器.zip

    JAVA语言代码查错器,无需安装,直接打开即可使用。 关于代码查错器使用的注意事项: 注意1:代码要考虑大小写,所以窗品右侧必须勾选“区分大小写”按钮 注意2:代码排错时,尽量让需要排错的第一行代码标识性强...

    Java实现的简易单词查错程序

    本项目是一个基于Java实现的简易单词查错程序,它利用了Java Swing库来构建图形用户界面,结合Java IO进行文件操作,以及运用字符串处理和正则表达式技术来识别和纠正文本中的拼写错误。 首先,让我们深入了解一下...

    Java程序性能优化 让你的Java程序更快、更稳定

    Java程序性能优化是每个开发人员都需要关注的重要领域,它涵盖了多个方面,旨在提高代码执行效率,减少资源消耗,以及提升应用程序的稳定性和响应速度。在本文中,我们将深入探讨Java性能优化的关键点,帮助你的Java...

    java爬虫(查成语应用程序)

    在本项目中,"java爬虫(查成语应用程序)"是一个实例,它利用Java爬虫技术抓取网络上的成语数据,然后构建一个应用程序,方便用户查询和学习成语。这个项目对初学者来说是一个很好的实践案例,可以让他们了解并掌握...

    JAVA代码查错

    JAVA代码查错 在Java编程中,查错是非常重要的一步。以下是八个常见的Java代码查错练习题,涵盖了abstract类、访问修饰符、final关键字、实例变量等多个方面。 1. abstract class Name { private String name; ...

    Java程序性能优化 让你的Java程序更快、更稳定附本书示例代码(清晰版)

    Java程序性能优化是每个开发人员都需要关注的重要领域,特别是在企业级应用中,高效稳定的Java程序能够显著提升用户体验,降低服务器资源消耗。这本书“Java程序性能优化 让你的Java程序更快、更稳定”提供了深入的...

    Java程序设计(第3版)-唐大仕-课件

    《Java程序设计(第3版)》是唐大仕教授编著的一本深入浅出的Java编程教材,适合初学者和有一定经验的开发者学习。这本书的课件包含了丰富的教学资源,帮助读者更好地理解和掌握Java语言的核心概念和技术。下面将根据...

    java java查bug 查bug bug 查错 源码

    "查bug"和"查错"是每个Java开发者必备的技能,而深入理解源码则能帮助我们更好地定位和解决问题。 在Java中,查bug通常涉及以下几个关键步骤: 1. **复现问题**:首先,我们需要在开发环境中重现bug,这包括了理解...

    java代码查错

    本篇文章将详细探讨Java代码查错的一些关键技术和方法,帮助开发者提升代码质量,减少疏漏。 一、编译时错误 编译时错误通常发生在源代码被Java编译器转换为字节码的过程中。这些错误是语法错误,例如: 1. **...

    Java英语字典查询小程序

    【Java英语字典查询小程序】是一个初学者使用Java编程语言编写的练习项目,旨在帮助用户查询英语单词。这个小程序展示了如何在Java环境中实现一个简单的字典应用,为学习者提供了理解面向对象编程、输入/输出处理...

    JAVA—JDBC数据库查询小程序

    本程序是一个基于JAVA实现的JDBC数据库操作小程序,它提供了全面的数据库交互功能,包括增(Insert)、删(Delete)、改(Update)和查(Select)。此外,还增加了模糊查询等高级特性,非常适合JAVA初学者作为学习...

    【Java】 客户端 登陆/查询 服务器端数据库 程序

    【Java客户端登陆/查询服务器端数据库程序】是一个典型的网络应用程序,它通过Java语言实现了客户端与服务器端的通信,使得客户端可以对服务器上的数据库进行查询和登录操作。在这样的系统中,客户端作为用户界面,...

    java微信订单查询接口

    在Java微信订单查询接口的开发中,我们主要涉及以下几个核心知识点: 1. **微信支付API**:微信提供了开放的支付API,允许开发者通过接口与微信支付系统进行交互,包括订单查询、支付、退款等操作。Java开发中,...

    Java 程序设计与项目实践

    《Java程序设计与项目实践》是一本深入探讨Java编程技术和实际应用的书籍,旨在帮助读者不仅掌握Java语言的基础,还能通过具体的项目实践提升其编程能力。该书的配套光盘包含了许多有助于学习和理解Java编程的资源,...

    Java程序设计ppt

    Java程序设计是软件开发领域中的一个核心主题,尤其对于初学者和有志于从事后端开发的人员来说,掌握Java编程至关重要。这份"Java程序设计ppt"提供了从基础到高级的全面教程,总共包含了13个PPT文件,旨在帮助学习者...

    JAVA程序设计与问题解决

    JAVA程序设计与问题解决基础篇和高级篇适合刚入门学习JAVA的童鞋

    Java全能速查宝典

    2. **JVM与JRE**:Java虚拟机(JVM)是Java程序运行的基础环境,负责执行Java字节码。Java运行时环境(JRE)包含了JVM以及运行Java应用程序所需的类库和其他组件。 3. **编译与运行**:Java源代码文件以.java为扩展名,...

    JAVA 日历查询

    用java写的 日历查询 程序 小小作业 放上来大家随便看看 JAVA 日历查询 JAVA 日历查询 JAVA 日历查询 JAVA 日历查询

    java考试通过率查询程序

    Java考试通过率查询程序是一个基于Java Swing开发的桌面应用程序,主要功能是帮助用户查询和分析考试的通过率数据。Swing是Java提供的一个图形用户界面(GUI)工具包,用于创建美观、交互性强的桌面应用。这个程序...

Global site tag (gtag.js) - Google Analytics