Java中static关键字简析

前言

工作三年,前两年基本都在码业务代码而很少关注JDK的具体原因,可能仅仅做到了知其然而不知其所以然,在工作的第三个年头里开始注重基础的掌握,却发现学习过的基础总是会忘记,反思一下,可能是因为工作中没有机会深入使用,第二个就是没有注重总结,所以开始决定写博客总结学过的知识,与大家分享,如果有不对的地方也希望大家可以帮忙指正出来。

static含义

static就是没有this的方法.在static中不能调用非静态方法,反过来倒是可以的。它可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法,这实际上也正是statitc的主要用途。—《JAVA编程思想》

个人理解static就是类的方法以及属性,它不属于类的某个对象。至于为什么static方法不能调用非static方法以及属性,是因为static方法以及属性的初始化早于成员变量以及成员方法的,在加载静态方法时并不能识别成员变量以及成员方法。

staitc关键字的四种用法

  1. static修饰代码块

public class InitTestClass {
    static {
      log.info("类初始化方法被");
    }
}

在类中直接使用static修饰{}代码块,保证代码块在类加载的时候执行,且仅执行一次。

  1. static修饰成员变量

public class FooClass {
    static public String foo;
}

static修饰成员变量,该变量可以直接使用Class.property来访问,而不用生成对象。

  1. static修饰方法

public class FooClass {
    static public hello(){
    	System.out.println(“Hello World”);
    }
}

这种用法应该算是最常见的,JDK提供的很多类都是可以直接使用Class.method来调用的,例如String,equals(Object object);

  1. import static

比较少用的功能,可以将目标包中的资源直接当做类中的资源来使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值