java-static静态修饰符
静态修饰符
静态方法 可以与 普通方法 或者 静态方法 重载
静态属性 和 静态方法 可以被继承,但是 静态方法 不能被重写
static 不可以修饰局部变量,所以静态方法和非静态方法中的变量都不能定义为静态变量
static可以修饰:属性,方法,代码段,内部类(静态内部类)
静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化,初始化后可以被改变
静态代码块,在虚拟机加载类的时候就会加载执行,而且只执行一次,只能调用静态变量和静态方法;
静态方法中直接不能访问类的非静态成员变量和非静态成员方法,只能直接访问静态成员变量、静态成员方法, 因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用;
非静态成员方法中是可以访问类的静态成员方法/变量
非静态代码块,在创建对象的时候(即new一个对象的时候)执行,每次创建对象都会执行一次;
static修饰的属性、方法、代码段跟该类的具体对象无关,不创建对象也能通过类名调用static修饰的属性、方法等。
static 和 this 、super 势不两立,static 跟具体对象无关,而 this 、 super 正好跟具体对象有关
在JVM加载一个类的时候,若该类存在static修饰的成员变量和成员方法,则会为这些成员变量和成员方法在固定的位置开辟一个固定大小的内存区域(只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们)
普通方法中可以通过this调用静态方法
静态方法中不能定义静态变量,因为static不能修饰局部变量
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java-InnerClass内部类
成员内部类 成员内部类可以访问外部类的所有成员属性和成员方法(包括private成员和静态成员) 当成员内部类拥有和外部类同名的成员变量或者方法时,会发生隐藏现象,即默认情况下访问的是成员内部类的成员。如果要访问外部类的同名成员,需要以下面的形式进行访问:外部类.this.成员变量,外部类.this.成员方法 成员内部类可以用private、protected、public修饰 成员内部类中不能定义静态方法(所以成员内部类中没有main方法) 成员内部类不能定义静态变量,静态方法 成员内部类是依附外部类而存在的,也就是说,如果要创建成员内部类的对象,前提是必须存在一个外部类的对象 在外部类中如果要访问成员内部类的成员,必须先创建一个成员内部类的对象,再通过指向这个对象的引用来访问 可以定义成员抽象内部类,抽象内部类的抽象方法不能用private、final、static修饰 静态内部类 静态内部类只能调用外部类的静态方法和静态属性 静态内部类不用产生外部类的实例化对象即可产生内部类的实例化对象 静态内部类也可以用private、protected、public修饰 静态内部类可以定义非...
- 下一篇
Logtail 文件日志采集之完整正则模式
前言 为了简化文件日志的采集过程,Logtail 提供了按行采集的极简模式:通过换行符来切分日志,每行作为一条日志。极简模式具有高效、配置简单等优势,但它将整条日志的内容作为整体,而不会对单条日志的内容进行额外解析,在有些场景下无法满足需求。为此,我们还提供了其他解析方式,例如:分隔符模式、完整正则模式、JSON 模式等。 本文将介绍如何使用完整正则模式来实现对日志的解析,并且介绍一些使用此模式时的最佳实践。 完整正则模式 简介 完整正则模式是通过正则表达式实现的日志解析。正则表达式是用于匹配字符串中字符组合的模式,通俗来讲,我们可以通过它来表达我们要什么样的日志。正则表达式具有多个规范,包括 Posix、Perl 等,Logtail 的完整正则模式所支持的语法符合 Perl 正则(PCRE)规范(本文后续内容中所涉及的正则表达式都会采用该规范编写)。 如上图所示,相比极简模式,完整正则模式增加了以下几个功能: 采集多行日志 极简模式仅通过换行符来切分日志,所以它无法采集多行日志(比如 Java 程序的异常堆栈)。 完整正则模式引入了行首正则,补足了采集多行日志的需求。 提取字段 极简...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程