###1.内存管理:由JVM来管理的------了解
1)堆: 1.1)存储new出来的对象(包括实例变量)
1.2)垃圾:没有任何引用指向的对象 垃圾回收器(GC)不定时到内存中清扫垃圾, 回收过程是透明的(看不到的), 不一定一发现垃圾就立刻回收, 调用System.gc()可以建议JVM尽快调度GC来回收
1.3)内存泄漏:不再使用的对象还没有被及时的回收 建议:对象不再使用时应及时将引用设置为null
1.4)实例变量的生命周期: 创建对象时存储在堆中,对象被回收时一并被回收
2)栈: 2.1)存储正在调用的方法中的局部变量(包括方法参数)
2.2)调用方法时会为该方法在栈中分配一块对应的栈帧, 栈帧中存储局部变量(包括方法参数) 当方法调用结束时,栈帧被清除,局部变量一并失效
2.3)局部变量的生命周期: 调用方法时存储在栈中,方法结束时与栈帧一并被清除
3)方法区:3.1)存储.class字节码文件(包括方法、静态变量)
3.2)方法只有一份,通过this来区分具体的调用对象
###面向对象三大特征:
1.封装:1)类:封装的是对象的属性和行为
2)方法:封装一段特定的是业务逻辑功能实现
3)访问控制修饰符:封装的是具体的访问权限
2.继承:1)作用:代码复用
2)超类:所有派生类所共有的属性和行为 接口:部分派生类所共有的行为 派生类:派生类所特有的属性和行为
3)单一继承、多接口实现,传递性
3.多态:
1)意义:1.1)行为的多态(所有抽象方法都是多态的)
1.2)对象的多态(所有对象都是多态的)
2)向上造型、强制类型转换、instanceof判断
3)多态的表现形式:3.1)重写:根据对象的不同来表现多态
3.2)重载:根据参数的不同来表现多态
###实例变量:
1)类中,方法外
2)创建对象时存储在堆中,对象被回收时一并被回收
3)有默认值
###局部变量:
1)方法中
2)调用方法时存储在栈中,方法结束时与栈帧一并被清除
3)没有默认值