• java 访问修饰符


    一, 访问控制修饰符

    修饰符 当前类 同一包类 子孙类(同一包) 子孙类(不同包) 其他包
    public yes yes yes yes yes
    prodected yes yes yes yes/no no
    default yes yes yes no no
    private yes no no no no

    二, 非访问修饰符

      1, stasic 修饰符,用来修饰类方法和类变量。

      static 修饰的变量和方法称为静态变量和静态方法,也叫类变量和类方法, 静态变量和静态方法不随这创建对象而创建,它们属于类本身所有

      2. final 修饰符,用来修饰类、方法和变量

    • final 修饰的类不能被继承。
    • final 修饰的方法可以被继承,但是不能被子类重新定义
    • 修饰的变量为常量,是不可修改的,用final修饰的常量在创建时必须赋值
      public class Test{
        final int value = 10;
        // 下面是声明常量的实例
        public static final int BOXWIDTH = 6;
        static final String TITLE = "Manager";
       
        public void changeValue(){
           value = 12; //将输出一个错误
        }
      }

      3. abstract 修饰符,用来创建抽象类和抽象方法。

      4. synchronized 修饰符声明的方法同一时间只能被一个线程访问。

      5. volatile修饰的成员变量在每次线程访问时,都前置从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值

      6. transient 序列化的对象包含被 transient 修饰的实例变量时,java虚拟机(jvm)跳过改特定的变量

  • 相关阅读:
    Asp.Net 之 前台绑定常用总结
    http无状态
    整理Py小demo
    RawURL
    整理的笔记
    单例模式
    DevExpress v18.1新版亮点——Analytics Dashboard篇(一)
    DevExpress v18.1新版亮点——Reporting篇(四)
    MyEclipse教程:使用UML创建模块库——第二部分(一)
    DevExpress v18.1新版亮点——Reporting篇(三)
  • 原文地址:https://www.cnblogs.com/shenjilin/p/9953391.html
Copyright © 2020-2023  润新知