再探se

  1. 对象

    1. 没有分配内存空间的对象是一个特殊的对象 null
    2. null是引用类型的,但是没有指向任何位置,所以是不能被访问的,强制访问会空指针异常
    3. 针对具体对象的属性称之为对象属性,成员属性,实例属性
    4. 针对具体对象的方法称之为对象方法,成员方法,实例方法
  2. 静态

    1. 和对象无关,只和类相关的称为静态
    2. 和类相关的属性称为静态属性
    3. 和类相关的方法称为静态方法(static)
    4. 先有类,再有对象 静态属性和静态方法 随着类的产生而产生, 成员方法可以调用静态方法,有成员方法证明类一定是存在的,所以静态方法也一定存在, 静态属性通过对象也可以访问
    5. 成员方法可以访问静态属性和静态方法
    6. 静态方法不能访问成员方法
  3. 静态代码块:

    1. 随着类的创建加载完成后自动执行,
    2. 对象准备创建时,也会自动调用代码块,但不是静态的
  4. 构造方法

    1. 如果一个类中没有构造方法, ** jvm默认会添加一个无参的构造方法**,方便对象调用
    2. 如果有构造方法,则jvm不会提供,不论写了有参构造还是无参构造,jvm均不会提供
    3. 构造方法也是方法,但是不涉及返回类型,所以没有void等关键字,也可以传递参数,目的是用于对象属性的赋值
    4. 方法名和类名完全相同
  5. extends 继承

    1. java中是单继承
    2. 从关系的角度来讲,一个子类只能有一个父类, 一个父类可以有多个子类
    3. 从对象的角度讲, 并不是每个子类都调用的同一个对象
    4. 父类对象是在子类创建之前完成, 创建子类之前会调用父类的构造方法,完成父类的创建
    5. 默认情况下, 会调用父类的默认构造方法完成父类对象的创建,使用super,java虚拟机自动完成
    6. 如果父类提供了构造方法, 则jvm不会再提供构造方法 , 子类应该显式的调用父类中的方法
    7. 一个 new 只能构造一个对象
    8. 对象构建完成, 在内存中开辟内存空间后才会有构造方法, 父类继承来的属性需要提前初始化
  6. 多态

    1. 一个对象在不同场景下表现出的不同状态 , 蜘蛛侠平常是记者,打击犯罪是超级英雄 , 约束了对象应该的场景
    2. 一个对象可以使用的功能取决于引用变量的类型
  7. 重载

    1. 一个类中, 相同方法不允许重复声明,也不能声明相同属性
    2. 子类对象包含了父类对象的所有内容
    3. 通过参数来区分 , 无参构造通过重载添加参数, 以达到在不同场景中的使用
  8. 重写 (发生在父子类之间,子类继承并重写父类)

    1. 返回值类型相同
    2. 方法名相同
    3. 参数列表相同
    4. 逻辑不通(子类逻辑覆盖父类逻辑)
      //一个对象能使用什么方法,取决于变量的类型,
      //具体执行什么内容是看这个方法的对象
  9. 递归

    1. 简而言之是对自己的无限循环, 不断地压栈的过程中如果不结束则会爆栈StackOverflow
    2. 调用自身时,传递的参数需要有规律,不能是无意义的内容
  10. 访问权限

    1. 对于main方法
      1. public 公共 访问权限修饰符
        Java代码中, 公共类只能有一个 且 必须和 源码文件相同
      2. main方法是由jvm调用的, 默认应该可以任意调用, 而不用考虑任何权限
      3. 不加static则main方法变成了成员方法
    2. private 私有化的只有本类能用 (同类)
    3. default 不设定任何权限时 jvm默认 提供的 称为包权限 (同类,同包)
    4. protected 受保护的权限 子类可以访问 (同类,同包,子类)
    5. public 所有人都能访问 (公共的)
      • 外部类 只能用public, default
      • 内部类
        在外部类中的类 称为内部类,
        应该当成外部类的属性使用
        需要构建外部类对象才能使用
posted @ 2023-07-07 16:05  rainsc  阅读(9)  评论(0编辑  收藏  举报