创建自定义类的对象数组
源代码
public class Student{
static int number = 0; // 静态变量的访问可以不用创建类的实例就可就可使用< 类名.属性 >的方法访问
String name; // 学生姓名
Student( ){ // 无参构造函数
System.out.println("创建学生成功。。");
number++; // 学生数加1
}
public static void main(String [] args){
// 主方法开始
System.out.println("学生数:"+Student.number); // 0
Student [] s; // 声明要创建的对象数组
s = new Student[2]; // 创建对象数组,为对象数组开辟空间
s[0] = new Student(); // 创建数组对象,为数组对象开辟空间
s[0].name = "凌小墨"; // 先声明,再创建,之后才能使用
System.out.println("学生数:" + Student.number);
System.out.println("姓名:"+s[0].name);
}
}
运行结果
问题
- 为什么Java里创建对象数组不同于C++呢?
Java语言是强类型语言,意思是每个变量和每个表达式都有一个在编译时就确定的类型,所以所有变量必须显式声明类型,也就是说,所有的变量必须先声明,后使用。
Java语言支持的数据类型分为两类:基本数据类型(也叫原始数据类型,Primitive Type)和引用数据类型(Reference Type)。
基本类型不用多说,主要是引用类型。引用类型包括类、接口和数组类型,还有一种特殊的null类型。所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。实际上,引用类型变量就是一个指针,只是Java语言里不再使用指针这个说法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?