JAVA代码查错解析
需积分: 8 192 浏览量
更新于2024-08-11
收藏 56KB DOC 举报
"JAVA代码查错.doc-综合文档,涵盖了Java编程中常见的错误及解析,主要涉及抽象方法、访问修饰符、final关键字的使用规则。"
在Java编程中,正确理解和使用语法是至关重要的,以下将详细解释这些错误点:
1. 抽象方法(abstract method)的定义:
错误示例:`abstract className{...public abstract boolean isStupidName(String name){}}`
解析:抽象方法应该以分号结尾,而不是花括号。正确的写法是:
```java
abstract class ClassName {
private String name;
public abstract boolean isStupidName(String name);
}
```
2. 访问修饰符与局部变量:
错误示例:`void doSomething(){ private String s=""; int l=s.length();}`
解析:局部变量不能有访问修饰符。正确的写法是:
```java
void doSomething() {
String s = "";
int l = s.length();
}
```
注意,final可以用来修饰局部变量,但这里的`private`是不被允许的。
3. 抽象方法与private修饰符:
错误示例:`abstract class Something { private abstract String doSomething();}`
解析:抽象方法不能被声明为`private`,因为抽象方法的目的是为了让子类实现,而`private`方法是不可被子类访问的。正确做法:
```java
abstract class Something {
public abstract String doSomething();
}
```
4. final关键字与基本类型变量:
错误示例:`public int addOne(final int x) { return ++x; }`
解析:final修饰的基本类型变量一旦初始化后就不能再改变其值。在这个例子中,`++x`试图修改x的值,这是不允许的。正确的做法要么不使用final,要么避免修改x:
```java
public int addOne(int x) { return x + 1; }
```
5. final关键字与对象引用:
正确示例:
```java
public class Something {
public static void main(String[] args) {
Other o = new Other();
new Something().addOne(o);
}
public void addOne(final Other o) {
o.i++;
}
}
class Other {
public int i;
}
```
解析:在这个例子中,`o`被声明为final,这意味着不能改变`o`的引用,但可以修改`o`所引用对象的属性。所以`o.i++`是允许的,因为没有改变`o`指向的对象。
以上错误点揭示了Java编程中的关键概念,包括抽象方法的定义、访问修饰符的使用限制以及final关键字的应用。理解并遵循这些规则,可以帮助开发者编写出更健壮、可维护的Java代码。
2021-05-21 上传
2021-05-21 上传
2021-05-20 上传
2021-05-21 上传
2021-05-21 上传
2021-05-21 上传
2021-05-21 上传
2021-05-21 上传
2021-05-21 上传
weixin_38535221
- 粉丝: 3
- 资源: 936
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查