11、null:
引用类型默认值是null;无指向,不指向堆中的任何东西,再给其赋值时会导致
NullPointerException
12、方法签名:方法名和参数列表 不可以有两个方法签名完全相同
13、一个文件中可以包含多个类,但是只能有一个类使用public修饰
14、想访问类必须先建一个对象
15、构造方法(ooday02):
1:给成员变量赋初值
2:必须与类重名,无返回类型(无void)
3:在创建对象的时候自动调用,若无自己写的构造方法则调用无参构造,若有则在创建的时候则需要写入参数
4:构造方法也可以重载
16、this关键字:指代当前对象,哪个对象调用则指的就是哪个对象,方法中访问成员变量之前默认有个this
1:this.成员变量名-----访问成员变量
2:this.方法名------------访问方法
3:this.()-------------------调用构造方法
如 Cell c = new Cell(); 若有drop方法,则调用时为c.drop,即this替换为c
17、若在new的时候出现了问题,那么则很有可能是构造方法的问题
18、引用类型数组
1:Cell[] cells = new Cell[3];
cell[0] = new Cell(2,5);
2:Cell[] cells = new Cell[]{
new Cell(2,5);
new Cell(2,4);
};
19、内存管理:
jvm把内存分为堆、栈、方法区
堆:new出来的对象(包括成员变量)、成员变量的生命周期:创建时在堆中,对象被回收时也会消失、GC会不定时去回收垃圾
及时将引用设置为NULL,可以避免垃圾过多
栈:用于存储正在调用中方法的所有局部变量,调用方法时在栈中给该方法分配一块对应的栈帧,栈帧中包含所有局部变量(包括参数),调用结束栈帧消失,局部变量消失
方法区:存储字节码文件.class包括方法、方法只有一份
20、继承:extends应该满足 is a的关系 Tiger extends Animal 老虎是一个动物
Animal 0 = new Tiger();//向上造型,即父类型的引用指向子类型的对象
避免代码重复,有利于代码的重用、通过extends实现继承、一个父类可以有多个子类,一个子类只能有一个父类-单一继承、具有传递性