- 面向对象知识链接汇总,知识点体系(思维导图)
- Java面向对象(第一天)类,对象,方法的重载,练习题
- Java面向对象(第二天)构造方法,this关键字,内存结构初识,null,NullPointerException,引用类型数组(上),拓展,练习题
- Java面向对象(第三天)引用类型数组(下),继承,super,向上造型(上),拓展,练习题
- Java面向对象(第四天)向上造型(下),重写,访问控制修饰符,static关键字,拓展,练习题
- Java面向对象(第五天)final,static final,abstract关键字(抽象方法,抽象类)
- Java面向对象(第六天)成员内部类(不经常使用),匿名内部类(经常使用)
- Java面向对象(第五天)接口,拓展(类与接口的关系,抽象类与接口的区别),练习题
- Java面向对象(第八天)多态(对象的多态,行为的多态),拓展(面向对象)
- Java面向对象(第九天)简单的内存结构,面向对象三大特征
- Java新手小白入门篇系列持续更新中…
一、简单的内存管理(JVM)
1. 堆
- 存储的是new出来的对象(包括实例变量、数组的元素)
- 垃圾:没有任何引用所指向的对象
- 垃圾回收器(GC)
- 垃圾回收器(GC)不定时到内存中清扫垃圾,回收过程是透明的(看不到的),并不一定一发现垃圾就立刻回收,通过调用System.gc()可以建议虚拟机尽快调度GC来回收
- 实例变量的生命周期:
- 创建对象时存储在堆中,对象被回收时一并被回收
- 内存泄漏:不再使用的对象还没有被及时的回收,严重的泄漏会导致系统的崩溃
- 建议:不再使用的对象应及时将引用设置为null
2. 栈
- 存储正在调用的方法中的局部变量(包括方法的参数)
- 调用方法时,会在栈中为该方法分配一块对应的栈帧,栈帧中存储局部变量(包括方法的参数),方法调用结束时,栈帧被自动清除,局部变量一并被清除
- 局部变量的生命周期:
- 调用方法时存储在栈中,方法调用结束时与栈帧一并被清除
3. 方法区
- 存储.class字节码文件(包括静态变量、所有方法)
- 方法只有一份,通过this来区分具体的访问对象
二、面向对象的三大特征
面向对象三大特征:封装,继承,多态
1. 封装
- 类:封装的是对象属性和行为
- 方法:封装的是具体的业务逻辑功能
- 访问控制修饰符:封装的是访问权限
2. 继承
继承是一种利用已有的类快速创建新的类的一种机制
- 作用:代码的复用
- 父类:所有子类共有的行为和属性
子类:子类所特有的属性和行为 - 子类继承父类后,子类具有:父类+子类
- 单一继承,多实现,继承是具有传递性的
3. 多态
- 行为的多态,对象的多态
- 多态的表现形式:行为的多态(重载,重写),对象的多态(向上造型,强制类型转换(instanceof)/向下转型)
面向对象的优点:易复用、易维护、易扩展,降低了系统代码的耦合度。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/107628.html