Java面试题---static 关键字的作用

本文详细介绍了Java中的static关键字,包括static修饰的变量、方法、代码块和内部类的特性。static变量在类加载时分配空间,所有对象共享,存于方法区;static方法不依赖对象调用,可直接通过类名访问。此外,还讨论了static在初始化静态代码块和静态导入中的应用,以及在Java工具类和驱动注册中的例子。
摘要由CSDN通过智能技术生成

总的来说:

1.static是java中的一个关键字,单词本身是静态的含义

2.使用static修饰的成员称为静态成员,是属于某个类的;而不使用static修饰的称为实例成员,是属于类的每个对象的。

3.一个类的成员包括成员变量、执行方法、构造方法、代码块和内部类,static可以修饰除了构造方法以外的所有成员。

下面对其进行详细的介绍:

1.static修饰变量

   static属于这个类所有,即由该类创建的所有对象共享同一个static属性。static变量和非static变量都是成员变量,这是共同点,区别主要是:

       (1)在内存中份数不同

          一个类一份:不管有多少个对象,static变量只有一份。对于每个对象,实例变量都会有单独的一份

          非static变量:是一个对象一个,static变量好比是饮水机,大家共享;非static是水杯,每个人都有 ;

        (2)在内存中存放的为位置不同

         static变量存放在方法区(元空间),非static变量存放在堆内存中;

        (3)访问的方式不同

          static变量:对象名.变量名    或类名.变量名

           非static变量:对象名.变量名

        (4)在内存中分配空间的时间不同

          static变量:第一次加载类的时候

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值