• 杂记


    1.堆区 存储 数组、字符串对象( 一般由程序员分配释放, 若程序员不释放)
    2.栈区 存储函数参数以及函数内部声明的变量
    3.静态区
    4.代码区 所有代码的区域( 存放函数体的二进制代码)

    1:特点--使用new关键字分配堆区,生命期直到被回收,引用计数为0,引用计数为0就是这块内存不被其他变量引用了

    A a = new A() //a本身在栈区,a存储内存的位置在堆区

    2.特点--随着函数的调用而产生,随着函数的调用结束而消亡

    3.特点--生命期和应用程序生命期相同,静态成员保存值得地方

    4.特点--代码区存储编译后的指令

    数组:一块连续的空间

    函数重载:统一作用域内,函数名相同,参数列表不同
    (底层)--名称编码,对于CPU来说,函数名=参数类型列表惊行编码----节约了命名资源,尽可能不使用函数重载

    传参:对于基本类型来说是复制
    对于引用数据类型来说是传递地址

    1.面向对象的部分,一般,高级
    2.异常
    3.集合
    4.工具,包括字符串,时间,随机数,数学
    1.--封装、继承、多态
    封装:
    构造方法,可以重载
    默认构造方法,不带参数的构造方法
    如果写了默认构造方法,编译器不会生成,如果没有默认的构造函数,编译器会生成
    如果写了多个构造方法,一定提供一个默认的构造方法
    思考:一个类被实例化后,内存中有哪些内容

    任何程序执行时先找函数地址,运行过程汇中对变量寻址。
    java中,对象也是一个变量,内存中只有非静态数据成员

    继承: extends
    对基类非静态数据成员的copy
    对于基类的代码实质是调用
    如果派生类的代码是对基类代码的改写,override,那么 在代码区会存储改写后的代码,------静态方法不能被继承
    在继承的过程中,

    class Cdrived extends CBase{}
    在实例化派生类对象时,首先实例化基类对象。对构造方法连锁调用

    结论:在派生类中汉以后基类子对象
    派生是一种中间状态。两个层次,浅层次基于对象的编程,
    深层次面向对象的编程-----需要了解认知类之间的联系
    
    类间关系:1.继承关系--表示子类是一个父类
                     2.聚合关系 3.组合关系 4.类内 5.局部内部
    

    多态:
    具有同一接口,但是展现不用功能,称之为多态
    动态多态--方法改写为基础,使用基类类型的变量指向类对象,然后再调用被改写的方法时,以实际指向的对象来确定使用哪个类实现的方法
    静态多态--函数重载就是一种静态多态,在编译时决定调用哪个方法

  • 相关阅读:
    Thinkphp 模板中使用自定义函数的方法
    thinkphp 邮件发送
    str_replace使用
    SQL备份一张表的数据
    error: Allowed memory size
    LitJson使用
    implode,explode的使用
    ModelState.AddModelError使用
    HTTP 错误 404.2
    验证码显示不出来,在THINKPHP中的使用
  • 原文地址:https://www.cnblogs.com/xiaofff/p/12433300.html
Copyright © 2020-2023  润新知