码农知识堂 - 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)/向下转型)

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

  • 相关阅读:
    Python记录本
    SAP UI5 应用开发教程之一百零六 - 如何提高 SAP UI5 应用路由 url 的可读性试读版
    浅谈一下:Java当作数组的几个应用场景
    leetcode2054
    tensorflow学习环境安装
    全息干涉图补零尺寸与三种重构方法重建像间的关系研究
    qt creator5.15.2用的是什么版本的图形api?
    工作经验总结之 Eslint 报错和开发技巧。
    VUE3 之 多个元素之间的过渡 - 这个系列的教程通俗易懂,适合新手
    学习Vue的入门方法有哪些呢?
  • 原文地址:https://blog.csdn.net/weixin_46030002/article/details/126454254
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号