码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java新手小白入门篇 Java面向对象(九)


    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. 堆
        • 2. 栈
        • 3. 方法区
      • 二、面向对象的三大特征
        • 1. 封装
        • 2. 继承
        • 3. 多态


    一、简单的内存管理(JVM)

    1. 堆

    • 存储的是new出来的对象(包括实例变量、数组的元素)
    • 垃圾:没有任何引用所指向的对象
      • 垃圾回收器(GC)
      • 垃圾回收器(GC)不定时到内存中清扫垃圾,回收过程是透明的(看不到的),并不一定一发现垃圾就立刻回收,通过调用System.gc()可以建议虚拟机尽快调度GC来回收
    • 实例变量的生命周期:
      • 创建对象时存储在堆中,对象被回收时一并被回收
    • 内存泄漏:不再使用的对象还没有被及时的回收,严重的泄漏会导致系统的崩溃
      • 建议:不再使用的对象应及时将引用设置为null

    2. 栈

    • 存储正在调用的方法中的局部变量(包括方法的参数)
    • 调用方法时,会在栈中为该方法分配一块对应的栈帧,栈帧中存储局部变量(包括方法的参数),方法调用结束时,栈帧被自动清除,局部变量一并被清除
    • 局部变量的生命周期:
      • 调用方法时存储在栈中,方法调用结束时与栈帧一并被清除

    3. 方法区

    • 存储.class字节码文件(包括静态变量、所有方法)
    • 方法只有一份,通过this来区分具体的访问对象

    二、面向对象的三大特征

    面向对象三大特征:封装,继承,多态

    1. 封装

    • 类:封装的是对象属性和行为
    • 方法:封装的是具体的业务逻辑功能
    • 访问控制修饰符:封装的是访问权限

    2. 继承

    继承是一种利用已有的类快速创建新的类的一种机制

    • 作用:代码的复用
    • 父类:所有子类共有的行为和属性
      子类:子类所特有的属性和行为
    • 子类继承父类后,子类具有:父类+子类
    • 单一继承,多实现,继承是具有传递性的

    3. 多态

    • 行为的多态,对象的多态
    • 多态的表现形式:行为的多态(重载,重写),对象的多态(向上造型,强制类型转换(instanceof)/向下转型)

    面向对象的优点:易复用、易维护、易扩展,降低了系统代码的耦合度。

  • 相关阅读:
    Ansys Electronics Desktop仿真——HFSS线圈寄生电阻,电感
    JVM垃圾回收机制
    【UCB操作系统CS162项目】Lab0:项目上手 (Getting Real)
    windows本地node.js和Vue脚手架安装步骤
    一文读懂Base64
    AdaptivePose: 人体姿态估计新思路,将人体部位表示为自适应点
    Docker快速部署Tomcat
    idea:如何连接数据库
    OceanBase基础架构
    linux下mysql主从复制
  • 原文地址:https://blog.csdn.net/weixin_46030002/article/details/126454254
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号