静态static关键字修饰符

一、静态成员属性/方法

1、一旦使用static修饰成员方法,那么该方法就成为了静态方法。静态方法不属于对象,而是属于类。
  • 如果没有static关键字修饰方法,那么必须先创建对象【new】,然后通过创建出来的对象来访问方法。
  • 如果有static,那么不需要创建对象,直接通过类名来调用方法。【注:静态方法也可以通过创建的对象来访问,但是javac在编译时,还会修改为:类名.方法名()】
2、推荐使用:无论是成员变量、还是成员方法,如果使用了static,那么都推荐使用类名直接进行调用
  • 静态变量:类名.静态变量名
  • 静态方法:类名.静态方法名()
注意事项:
  • 静态不能访问非静态(即在静态的方法中,不能直接访问非静态的成员变量/方法)【原因:因为内存中是【先】有静态内容,【后】有非静态内容】
  • 静态方法中不能使用this关键字【原因:this代表当前对象,通过谁调用的方法,谁就是当前对象。而静态方法或变量在访问时,会强制转换为通过类名调用,根本没有对象,所以无法使用this】

二、静态代码块

public class 类名 {
      //  静态代码块
      static {
            // 静态代码块的内容
      }
}
1、特点
  • 当第一次使用到本类时,静态代码块会执行【唯一的一次】
  • 静态内容总是优先于非静态,所以 “静态代码块” 比 “构造方法”【先】执行
2、静态代码块的典型用途
  • 用来一次性的对静态成员变量进行赋值
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容