面向对象的三大特征
1.封装
1.1类:封装对象的属性和行为1.2方法:封装特定的业务功能实现
1.3访问控制修饰符:封装访问权限
2.继承
2.1作用:减少代码的重复有利于代码的复用
2.2超类:所有派生类所共有的属性和行为
接口:部分派生类共有的行为
派生类:对象特有的属性和行为
3.多态
3.1意义:行为的多态,对象的多态
3.2向上造型、强制类型转换、instanceof
3.3多态的形式:
3.3.1重写:依据对象来多态
3.3.2重载:依据参数来多态
内存管理:由JVM管理的
1.堆:
1.1 存储所有new出来的对象(包括实例变量)
1.2 垃圾:没有任何引用指向的对象
垃圾回收器(GC)不定时到内存的堆中清理垃圾
回收过程是透明的,不一定发现立即回收
调用System.gc()可以建议虚拟机尽快调用GC来回收。
1.3 内存泄漏:不在使用的内存没有及时被回收。
建议:对象不在使用时,及时将引用设置为null
1.4 实例变量的生命周期:
创建对象时存在堆中,对象被回收时,一并被回收
2.栈:
2.1 存储正在调用中的方法中的局部变量(包括参数)
2.2 调用方法时,在栈中为方法分配一块栈帧,栈帧中包含方法的局部变量和参数。
方法调用结束时,栈帧被清除,局部变量一并被清除、
2.3局部变量的生命周期:
调用方法时,存在栈中,方法调用结束,栈帧被清除,一并被清除
3.方法区:
3.1 存储.class字节码文件(包括静态变量和方法)
3.2方法只有一份,通过this来区分具体的对象