JAVA之类的加载和继承

  1. 引用和对象的生命周期
    引用:一种数据类型,背后含义指向一个对象。在jav语言中,98%无法直接看到对象,看到的实际是引用
    对象的生命周期:new分配空间 初始化时期 活跃时期 被判定为死亡的时期
  2. 类的加载
    发生在运行期间
    从磁盘上吧*。Class文件(类字节码文件)载入到内存的过程
    类加载器(ClassLoader)
    类被加载到方法区
    加载的是类的方法语句数据,静态属性,源信息
    类的加载时机? 延迟加载,需要的时候才加载
    类会被使用的情况:new 对象 访问静态属性/方法; 反射
    静态属性的初始化顺序 :按照书写顺序执行(定义时初始化,静态代码块)
  3. 编译期间
    将源文件(.java)转化(编译Compile)为·类字节码文件(.class)
    编译期间运行的不是我们的源代码,而是javac程序,我们的源代码只是作为别人程序的输入而已。
  4. 运行期间
    运行的是java…,运行的是我们的java程序,java会启动JVM虚拟机
  5. 类的继承
    面向对象三大特征:封装 继承 多态
    继承的目的:代码的复用性,继承要表达的是一种有关系的类
  6. 方法的·覆写 Ovrerride
    子类重写了父类的一个方法
    方法名称相同,形参列表相同,返回类型要相同
    特例:允许返回值类型是父类方法返回类型的子类
    访问限定符:不能比父类的更封闭
    方法的重载Overload 方法名称相同,形参列表不同
    方法的签名:方法名称+形参列表
  7. 覆写/重写
    一定发生在子类上,必须实现和父类
    (1) 方法名称+形参列表+返回值类型相同的方法
    (2) 目的:针对同一行为,表现出和父类不同的方式(例子:叫声)
    (3) 访问限定符不能比父类的更严格(封闭)
    (4) 一般建议用@Override注解修饰
    (5) IDEA可用generate code来自东生成
    (6) 和重载Overload做好区分
  8. super关键字 可以和this对照着看
    (1) super用来访问父类的方法
    (2) 不是代表父类对象,可以抽象的去理解,执行属性中属于父类1的那部分
    Super不是引用 明确调用父类的方法
    9.java中类的继承,只允许单继承
    10.父类和子类的关系,涉及到super关键字
    类加载的关系:子类的加载必须触发父类的加载
    父类的加载一定是发生在子类的加载之前的
    对象实例化/构造的关系
    子类的对象的构造的过程会出发父类中属性的初始化过程
    父类的属性初始化一定是发生在子类属性的初始化之前
    属性的初始化:定义时初始化+构造代码块按书写顺序 构造方法
    和super调用父类构造方法的位置无关
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值