java中static的作用

本文详细介绍了Java中static关键字的五种主要用途,包括静态变量、静态方法、静态代码块、静态内部类以及static与final结合使用的特性。通过阅读本文,读者可以了解如何正确地在程序中使用static关键字。

static关键字主要有两种作用: 为某特定数据类型或对象分配单一的存储空间,而与创建的对象无关; 实现某个方法或属性与类而不是对象关联在一起, 也就是在不用创建对象的情况下就可以通过类来直接调用方法或使用类的属性.

1). static成员变量: 静态变量属于类,在内存中只有一个复制(只在类被创建时在内存中创建一次),只要静态变量所在的类被加载,这个静态变量就会被分配空间,因此就可以被使用了。对静态变量的引用有两种方式,分别是“类.静态变量"和”对象.静态变量", 静态变量被所有的对象共享; 实例变量属于对象,只有对象被创建后,实例变量才会被分配内存空间,才能被使用,它在内存中存在多个复制,只有用“对象.实例变量”的方式来引用。

2).static成员方法:Java中提供了static方法和非static方法。static方法是类的方法,不需要创建对象就可以被调用,而非static方法是对象的方法,只有对象被创建出来后才可以被使用; static方法中不能使用this和super关键字,不能调用非static方法,只能访问所属类的静态成员变量和成员方法,因为当static方法被调用时,这个类的对象可能还没被创建,即使已经被创建了,也无法确定调用哪个对象的方法。同理,static方法也不能访问非static类型的变量。

3).static代码块: static代码块在类中是独立于成员变量和成员函数的代码块的。注意:这些static代码块只会被执行一次, 在JVM加载类时会执行static代码块, 如果有多个static代码块, JVM按按顺序来执行.

4). static内部类: static内部类是指被声明为static的内部类, 它可以不依赖于外部类实例对象而被实例化, 而通常的内部类需要在外部实例化后才能实例化.

5). static与final结合使用: 对于变量,若使用static  final修饰,表示一旦赋值不能修改,并且通过类名可以访问, 对于方法,若使用static final修饰,表示该方法不可被覆盖,并且可以通过类名直接访问。

 

转载于:https://www.cnblogs.com/kexianting/p/8496760.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值