Java新手易犯的陷阱:理解数组索引从0开始
需积分: 16 17 浏览量
更新于2024-07-13
收藏 2.07MB PPT 举报
在Java编程中,一个常见的陷阱是对于数组和类中变量索引的理解。Java与C/C++等其他语言有所不同,其数组索引是从0开始的,而非像C/C++那样从1开始。这意味着当你创建一个包含三个元素的字符串数组时,第一个元素的索引应写为`strArray[0]`,而不是`strArray[1]`。这是因为在Java中,数组的第一个位置总是索引0,最后一个元素的索引则是数组长度减一。
在给出的代码示例中,`StaticDemo`类试图在静态方法`main`中访问非静态成员变量`my_member_variable`。然而,由于`main`方法被声明为静态的,它不能直接引用非静态成员,因为静态方法属于类本身,而不是类的实例。这就导致了编译错误:"Cannot make a static reference to the non-static field".
解决这个问题的方法是在调用`my_member_variable`之前,先创建`StaticDemo`类的一个实例。如果想在静态方法中访问非静态成员,需要如下所示:
```java
public class NonStaticDemo {
public String my_member_variable = "somedata";
public void main(String[] args) {
// 创建NonStaticDemo类的对象
NonStaticDemo demo = new NonStaticDemo();
// 现在可以从demo对象上调用my_member_variable
System.out.println("This WON'T generate an error: " + demo.my_member_variable);
}
}
```
通过实例化`NonStaticDemo`,你就可以正确地访问其非静态成员变量了。这个规则同样适用于访问类的实例方法,它们必须在一个具体的对象上下文中执行。
理解Java中的索引和成员访问规则对于编写无误的代码至关重要。记住,数组索引从0开始,而静态方法不能直接访问非静态成员,除非先创建该成员所属的对象实例。这不仅是初学者常常遇到的问题,也是提升Java编程技能时需要熟练掌握的基础概念。
2019-03-01 上传
2017-11-10 上传
2010-02-11 上传
2021-10-09 上传
2020-08-31 上传
2008-10-03 上传
2013-07-20 上传
2010-06-18 上传
2024-07-07 上传
冀北老许
- 粉丝: 16
- 资源: 2万+
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载