280 次浏览
  • 访问权限修饰符
    • 用于控制类的成员是否可以在其他类中访问//不可修饰局部变量 
  • 非访问修饰符
    • static 
      1. 作用:用于内存管理
      2. 范围
        • 使用范围:变量、方法、代码块和嵌套类
        • 作用范围:static修饰的内容,属于类,而不是类的实例
        • 修饰的内容:
          • 1)变量:类变量,静态变量

            2)方法:类方法,静态方法

            3)代码块:静态代码块

            4)嵌套类:静态内部类

        • 静态与非静态比较
      3. 静态变量
        • 类的成员变量分为:
          • 静态变量//被static修饰的变量
          • 实例变量//未被static修饰的
      4. 静态方法
        • 单例模式时,外部拿不到构造函数,定义一个静态方法来获取对象很有必要
      5. 静态代码块
        • 不能访问类的实例变量和方法
      6. 静态类
        • 只有内部类可以声明为static,外部类声明编译不通过
        • 只能访问 静态成员变量和方法,普通内部类可以访问任意外部类的成员变量和方法
        • 可以声明普通成员变量和方法,普通内部类不能声明staitc成员变量和方法
        • 可以单独初始化,普通内部类要通过类的实例初始化
    • abstract ,创建抽象类和抽象方法
    • final,修饰类、方法和变量
    • synchronized修饰的方法、代码块只能在一个而线程被访问,不能修饰构造器、成员变量
    • volatile修饰的成员变量每次被线程访问时,强迫从共享内存中重读该成员变量的值,当成员变量发生变化时,强迫线程将变化值写回//保证线程操作时变量可见性,禁止指令重排,无法保证操作的原子性
      • 实现原理
    • transient 序列化的对象包含被transient修饰的成员变量时,jvm跳过该特定的对象
    • native修饰的方法通常采用c/c++实现
  • final修饰
    • 类:终类,不可继承
    • 方法:最终方法,子类可调用,但不能重写覆盖
      • 构造方法不能用final修饰
    • 变量
      • 修饰基本类型,该变量不可重新赋值
      • 修饰引用类型该变量引用的地址不能变,引用对象内容可以变
      • 常量,只能赋值一次//常量名大写_连接
      • 若修饰成员变量,必须 显示指定初始值
        • 初始化块中
        • 或构造器中指定均可
      • 唯一可修饰局部变量的修饰符
    • 可以执行宏替换//编译阶段可以确定内容的只能来源于常量池

Java-Note 06修饰符

Java static详解-春风化作秋雨-csdn

           Java静态类-Facilitate-博客园

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注