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

作者:0 与 1 时间:2022-02-10 01:03:54 

访问修饰符

  • 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

标签:java,修饰符
0
投稿

猜你喜欢

  • spring schedule实现动态配置执行时间

    2022-09-06 18:47:30
  • spring boot ${}占位符不起作用的解决方案

    2022-06-28 20:49:29
  • springboot开启声明式事务的方法

    2021-06-18 23:50:48
  • java网络编程之socket网络编程示例(服务器端/客户端)

    2022-05-02 00:18:59
  • 一文带你搞懂Redis分布式锁

    2021-09-26 12:56:14
  • 详解mybatis generator代码生成器的使用

    2021-08-28 09:05:42
  • 安卓逆向半次元app逆向分析源码

    2023-07-28 14:36:05
  • SpringBoot集成Elasticsearch过程实例

    2022-07-30 20:08:56
  • C#中使用split分割字符串的几种方法小结

    2023-06-18 17:23:21
  • java控制台打印本月的日历

    2023-10-15 22:58:12
  • Java使用二分法进行查找和排序的示例

    2023-03-16 10:16:37
  • mybatis plus使用redis作为二级缓存的方法

    2023-11-19 08:34:58
  • Java中高效判断数组中是否包含某个元素的几种方法

    2022-02-21 05:46:39
  • C#回收机制之资源回收托管

    2022-03-04 13:18:20
  • Idea打包springboot项目没有.original文件解决方案

    2022-07-12 20:06:08
  • java Stream流常见操作方法(反射,类加载器,类加载,反射)

    2022-03-24 06:54:56
  • java中List接口与实现类介绍

    2022-11-17 02:54:40
  • java基于netty NIO的简单聊天室的实现

    2023-11-18 15:29:43
  • 如何在Android中实现左右滑动的指引效果

    2023-06-23 09:08:47
  • 带你了解Java中Static关键字的用法

    2021-11-07 15:04:32
  • asp之家 软件编程 m.aspxhome.com