• java中的各种修饰符作用范围


    访问修饰符:

    • private
    • 缺省
    • protected
    • public

      作用范围:

    访问修饰符作用范围所在类同一包内其他类其他包内子类其他包内非子类
    private 可以访问 不可以 不可以 不可以
    缺省 可以 可以 不可以 不可以
    protected 可以 可以 可以 不可以
    public 可以 可以 可以 可以
    • private
      被private修饰的属性和方法,不能被其他类访问,子类不能继承也不能访问。只能在所在类内部访问。
    • 缺省
      变量或者方法前没有访问修饰符时,可以被所在类访问,可以被同一包内的其他类访问 或者继承。但是不能被其他包访问。
    • protected
      被protected修饰的方法和属性,在同一包内可被访问和继承。不同包内,子类可继承,非子类不能访问。
    • public
      方法和属性前有public修饰,可以被任意包内的类访问。
      另外,类要想被其他包导入,必须声明为public。被public修饰的类,类名必须与文件名相同。
     

    静态修饰符的特点:


    static是一个修饰符,用于修饰成员(成员变量和成员函数)

    1. 静态成员随着类的加载而加载。
    2. 静态成员优先于对象存在。
    3. 静态成员被所有对象所共享
    4. 静态成员多了一个中调用方式,可以被类名直接调用。

    静态使用的注意事项。

    1. 静态方法只能访问静态成员, 非静态方法既可以访问静态又可以访问非静态。
    2. 静态方法中不可以定义this,super关键字。因为this代表是对象。而静态存在时,有可能没有对象。所以静态方法运行时,this是没有任何对象代表的。
      简单说,先进内存的数据不可以访问后进内存的数据,可是后进内存数据可以访问先进内存的数据。
    3. 主函数是静态的

    静态的优缺点

    优点: 静态成员多了一种调用方式。可以直接被类名调用 格式 :类名.静态成员。也可以被对象调用。
    弊端 : 静态方法只能访问静态成员,出现了访问局限性。

    静态修饰的数据对象共享的数据,存放在方法区的静态区中。
    非静态的数据,是每一个对象特有数据。存放在对象的所属的堆内存中。

    当成员变量被静态修饰后,和非静态成员变量的区别:

    1. 静态变量也称为类变量,也就是直接可以被类名调用的变量。这个变量是所属于类的。
      非静态变量成为成员变量,或者实例变量,是被对象调用的,是所属具体对象的。
    2. 静态变量随着类的加载而加载,也意味着随着类的消失而消失。生命周期最长。
      实例变量,随着对象的创建而加载,随着对象的消失而消失。按照对象的生命周期而存在。
    3. 静态变量存储在方法区的静态区中。
      实例变量存在于对象所属的堆内存中。
    4. 静态变量数据,被所有对象所共享。
      实例变量是对象中的特有数据

    文章来源:https://blog.csdn.net/yxy_myfields/article/details/76422952

  • 相关阅读:
    DROP TABLE 恢复【一】
    Recover InnoDB dictionary
    Percona XtraDB Cluster
    主从复制延时判断
    Keepalived+MySQL实现高可用
    Performance Tuning MySQL
    Redis实现异步消息队列与延时队列
    Python多线程中的setDaemon
    Python实现远程控制单片机led状态
    【机器学习】朴素贝叶斯应用实例
  • 原文地址:https://www.cnblogs.com/jepson6669/p/8857163.html
Copyright © 2020-2023  润新知