怎么制作网站镜像,公司网站自己可做吗,专业做汽车网站优化排名,开发公司一季度汇报在Java语言中#xff0c;static表示“静态”的意思#xff0c;使用场景可以用来修饰成员变量和成员方法#xff0c;当然也可以是静态代码块。static的主要作用在于创建独立于具体对象的域变量或者方法。本文主要来去讲解一下static的来龙去脉。
static要解决什么问题#…在Java语言中static表示“静态”的意思使用场景可以用来修饰成员变量和成员方法当然也可以是静态代码块。static的主要作用在于创建独立于具体对象的域变量或者方法。本文主要来去讲解一下static的来龙去脉。
static要解决什么问题
我们知道当我们通过new关键字去创建对象的时候那么数据的存储空间才会被分配类中的成员方法才能被对象所使用。但是呢有两种特殊的情况
1、我们通过new关键字创建的对象共享同一个资源而不是说每个对象都拥有自己的数据或者说根本就不需要去创建对象这个资源和对象之间是没有关系的。
2、希望某个方法不与包含它的类的任何对象联系在一起。总结下来就是说即使没有创建对象也能使用属性和调用方法static目的就是在于解决这个问题。//加入Java开发交流君样756584822一起吹水聊天
格式
修饰变量static 数据类型 变量名
修饰方法【访问权限修饰符】 static 方法返回值 方法名(参数列表)
特点
static可以修饰变量方法被static修饰的变量或者方法是独立于该类的任何对象也就是说这些变量和方法不属于任何一个实例对象而是被类的实例对象所共享。在类被加载的时候就会去加载被static修饰的部分。被static修饰的变量或者方法是优先于对象存在的也就是说当一个类加载完毕之后即便没有创建对象也可以去访问。//加入Java开发交流君样756584822一起吹水聊天
static静态变量
被static修饰的成员变量叫做静态变量也叫做类变量说明这个变量是属于这个类的而不是属于是对象没有被static修饰的成员变量叫做实例变量说明这个变量是属于某个具体的对象的。
静态变量和实例变量的区别
实例变量每次创建对象都会为每个对象分配成员变量内存空间实例变量是属于实例对象的在内存中创建几次对象就有几份成员变量。
静态变量静态变量由于不属于任何实例对象是属于类的所以在内存中只会有一份在类的加载过程中JVM为静态变量分配一次内存空间。
static静态方法
被static修饰的方法也叫做静态方法因为对于静态方法来说是不属于任何实例对象的那么就是说在静态方法内部是不能使用this的因为既然不属于任何对象那么就更谈不上this了。
static应用场景
如果某个成员变量是被所有对象所共享的那么这个成员变量就应该定义为静态变量。
static如何去访问//加入Java开发交流君样756584822一起吹水聊天
静态变量
类名.静态变量
对象.静态变量(不推荐的)
静态方法
类名.静态方法
对象.静态方法(不推荐)
这里呢就啰嗦一句由于被static修饰的变量和方法是不属于任何实例对象的所以在这里强烈建议不要通过对象的方式去访问静态的变量或者方法。
static使用注意事项
在静态方法中没有this关键字因为静态是随着类的加载而加载而this是随着对象的创建而存在的。静态比对象优先存在。静态可以访问静态的但是静态不能访问非静态的。非静态的可以去访问静态的。
总结
静态只能访问静态。非静态既可以访问非静态的也可以访问静态的。