• java中的类修饰符、成员变量修饰符、方法修饰符


    参考:http://www.runoob.com/java/java-modifier-types.html

    分为"访问修饰符"和"非访问修饰符"。

    类修饰符:

    顶级类(外部类)来说,只有两种修饰符:public和默认(default)。

    因为外部类的上一单元是包,所以外部类只有两个作用域:同包,任何位置。因此,只需要两种控制权限:包控制权限和公开访问权限,也就对应两种控制修饰符:public和默认(default)。

    内部类:本类(private),同包(default),父子类(protected),任何位置(public)。

    既然你问的类使用了private修饰符,说明是个内部类。内部类的上一级是外部类,那么对应的有四种访问控制修饰符:本类(private),同包(default),父子类(protected),任何位置(public)。

    当一个内部类使用了private修饰后,只能在该类的外部类内部使用。


    public    公共类,共有的,以 public 修饰符指定,对所有类可见。

    friendly    默认的修饰符(隐藏式声明,什么都不写),只有在相同包中的对象才能使用这样的类。
    abstract  抽象类,没有实现的方法,需要子类提供方法实现。抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。抽象类可以包含抽象方法和非抽象方法。
    final    最终(非继承)。不能被其他类继承。
    private     私有,内部类,只能在一个类的内部。主要用来隐藏类的实现细节和保护类的数据.。

    访问控制

    修饰符

    当前类

    同一包内

    子孙类

    其他包

    public

    Y

    Y

    Y

    Y

    abstract

    Y

    Y

    Y

    Y(前面再加public 修饰)

    final

    Y

    Y

    Y

    Y

    default(friendly)

    Y

    Y

    N

    N

    private

    Y

    N

    N

    N

    成员变量修饰符:

    public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问。

    private(私有访问控制符)指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问。

    protected(保护访问控制符)指定该变量可以被自己的类和子类访问。在子类中可以覆盖此变量。

    friendly ,在同一个包中的类可以访问,其他包中的类不能访问。

    final,最终修饰符,指定此变量的值不能变。

    static(静态修饰符)用来声明独立于对象的静态变量,无论一个类实例化多少个对象,它的静态变量只有一份拷贝,只初使化一次。变量属于这个类。也叫类变量,局部变量不能声明为static静态变量。

                         其拥有的值是可变的 ,而且它会保持最新的值。说其静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。

    transient(过度修饰符)指定该变量是系统保留,暂无特别作用的临时性变量。序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量。

    volatile(易失修饰符)修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。 指定该变量可以同时被几个线程控制和修改。

    方法修饰符

    public(公共控制符)

    private(私有控制符)指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类)

    protected(保护访问控制符)指定该方法可以被它的类和子类进行访问。

    final,指定该方法不能被重载。

    static,指定不需要实例化就可以激活的一个方法。用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。

    abstract 抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类提供。任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类。

    synchronize,同步修饰符,关键字声明的方法同一时间只能被一个线程访问。synchronized 修饰符可以应用于四个访问修饰符。在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁。

    native,本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的。

  • 相关阅读:
    cesium入门示例-矢量化单体分类
    cesium入门示例-3dTiles加载
    cesium入门示例-geoserver服务访问
    cesium入门示例-HelloWorld
    java中函数传值与引用问题
    jni使用问题总结
    geoserver源码学习与扩展——增加服务接口
    go-ipfs入门及介绍
    安装GoMap
    Gogeos安装
  • 原文地址:https://www.cnblogs.com/zy2009/p/7289837.html
Copyright © 2020-2023  润新知