二维数组
定义:
格式1 int[][] arr = new int[3][2];
格式2 int[][] arr = new int[3][];//每个一维数组初始化时为null
空指针异常
格式3 int[][] arr ={{ },{ },{ }};
应用场景
数组的数组
map集合
面向对象
类与对象的关系
类:事物的描述
对象:类的实例
属性和行为
定义类就是在定义类中的成员
成员变量 <--> 属性
成员函数 <--> 行为
对象的内存体现
栈 主函数 对象变量
堆 创建对象实例
成员变量与局部变量区别
1、成员变量定义在类中,整个类中可以访问
局部变量定义在函数、语句、局部代码块中,只在所属区有效
2、成员变量存在于堆内存的对象中
局部变量存在于栈内存的方法中
3、生命周期不同
4、成员变量有默认初始化值,局部变量则没有
成员变量与局部变量同名
方法进栈
匿名对象
new Car();
1、方法只调用一次,简化为匿名对象
2、作为实际参数进行传递
参数传递是基本数据类型
class Demo{
public static void main(String[] args){
int x=3;
show(x);
System.out.println("x="+x);
}
public static void show(int x){
x=4;
}
}
参数传递是引用数据类型
class Demo{
static int x=3;
public static void main(String[] args){
Demo d = new Demo();
show(d);
System.out.println("x="+x); }
public static void show(Demo d){
d.x=9;
}
}
封装 隐藏对象的属性和实现细节,对外提供公共访问方式
private 对本类可见