static关键字

实际开发中,在哪里会经常用到static关键字?

自定义工具类、常量

static表示静态或者全局,可以用来修饰成员变量(属性)和成员方法和类。

常规的方式:方法的调用需要依赖对象,必须先要有对象才能调用方法。

添加static关键字之后,方法的调用不再依赖对象了,可以直接通过类来调用,提升开发效率。

使用static修饰的成员是独立于该类的任何一个实例化对象,被该类的所有对象所共享的资源。

被static修饰之后

静态成员变量/类变量,凌驾于所有对象之上的全局变量

静态成员方法/类方法,凌驾于所有对象之上的全局方法

没有被static修饰

实例成员变量,依赖于对象的变量

实例成员方法,依赖于成员的方法

普通成员在内存中多份,创建多少个对象,就有多少份。

静态成员在内存中只有一份,无论创建多少个对象,都只有一份。

使用了static关键字 就不能再使用this

类中信息的加载顺序

成员变量、成员方法、构造方法、代码块

1、先执行静态代码块

public class test2 {
    public static void main(String[] args) {
        System.out.println("main方法执行..");
    }
    static{
        System.out.println("静态代码块执行");
    }
}
静态代码块执行
main方法执行..

2、类中定义静态成员变量对象,会先创建对象

public class test2 {
    public static void main(String[] args) {
        System.out.println("main方法执行..");
    }
    static{
        System.out.println("静态代码块执行");
    }
    static User user= new User();

}
静态代码块执行
User被创建了...
main方法执行..

静态 和代码顺序相关。

3、非静态的代码块和成员变量   不执行

4、同时存在非静态代码块和静态大妈快,非静态成员变量和成员变量,先执行静态的信息,并且只执行一次,再执行非静态信息(创建对象),创建对象多少次就执行多少次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值