Java新手小白入门篇 Java面向对象(九)

导读:本篇文章讲解 Java新手小白入门篇 Java面向对象(九),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

Java新手小白入门篇 Java面向对象(知识点体系汇总)

  • 面向对象知识链接汇总,知识点体系(思维导图)

Java新手小白入门篇 Java面向对象(一)

  • Java面向对象(第一天)类,对象,方法的重载,练习题

Java新手小白入门篇 Java面向对象(二)

  • Java面向对象(第二天)构造方法,this关键字,内存结构初识,null,NullPointerException,引用类型数组(上),拓展,练习题

Java新手小白入门篇 Java面向对象(三)

  • Java面向对象(第三天)引用类型数组(下),继承,super,向上造型(上),拓展,练习题

Java新手小白入门篇 Java面向对象(四)

  • Java面向对象(第四天)向上造型(下),重写,访问控制修饰符,static关键字,拓展,练习题

Java新手小白入门篇 Java面向对象(五)

  • Java面向对象(第五天)final,static final,abstract关键字(抽象方法,抽象类)

Java新手小白入门篇 Java面向对象(六)

  • Java面向对象(第六天)成员内部类(不经常使用),匿名内部类(经常使用)

Java新手小白入门篇 Java面向对象(七)

  • Java面向对象(第五天)接口,拓展(类与接口的关系,抽象类与接口的区别),练习题

Java新手小白入门篇 Java面向对象(八)

  • 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

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!