对象和类、数组
对象和类
-
现实世界是由很多对象组成的
-
- 现实世界是先有对象,再抽出类
- 代码中先创建类,再创建对象
-
一个类可以创建多个对象
- 同一个类的多个对象,结构相同,数据不同
-
类是一种数据类型
只能包含:
- 描述对象所共有的特征:------变量 (属性——静的)
- 对象所共有的行为:----------方法 (行为——动的)
-
new后,成员变量有默认值
-
创建对象语法:
类名 引用 = new 类名(); 其中:new 类名() 是在创建对象
因对象为数据,所以声明引用来指代数据
-
访问成员变量、访问方法
通过点来操作,语法:
引用.成员变量 引用.方法名();
-
等号
基本类型之间画等号——在赋值
引用类型之间画等号----指向同一个对象(变量装的是地址)
基本数据类型与引用类型对比
- 8种基本类型:可以直接赋值
- 除了8种之外:类、接口、数组----引用类型(new出的)
-
null
空,表示没有指向对象
若引用的值为null,则不能再进行点操作,否则会出现NullPointerException异常
方法
重载
- 签名: 方法名+参数列表
- 重载:同一个类中,方法名相同,参数列表不同
构造方法
- 构造方法常常用于给成员变量初始化
- 与类同名,没有返回值类型
- 构造方法是在创建对象时被自动调用
-
- 若自己不写构造方法,则编译器默认给一个无参构造
- 若自己写了,则不再默认提供无参构造
- 构造方法可以重载
this
-
this指代当前对象,谁调指的就是谁
-
用法:
- this.成员变量---访问成员变量
- this.方法()-----访问方法
- this()--------调构造方法
数组
- 数组是同一数据类型的集合,数组一旦创建后,大小就不可变;
- 可以通过索引访问数组元素,但索引超出范围将报错;
- 数组元素可以是值类型(如int)或引用类型(如String),但数组本身是引用类型;
int[] arr = new int[4]; //基本类型数组
Cell[] cells = new Cell[4]; //引用类型数组
int[][] cells = new int[4][]; //二维数组
遍历数组
for循环方式
public class Main {
public static void main(String[] args) {
int[] ns = { 1, 4, 9, 16, 25 };
for (int i=0; i<ns.length; i++) {
int n = ns[i];
System.out.println(n);
}
}
}
for each 循环方式
public class Main {
public static void main(String[] args) {
int[] ns = { 1, 4, 9, 16, 25 };
for (int n : ns) {
System.out.println(n);
}
}
}
\