「java类静态域」实例域和静态域
本篇文章给大家谈谈java类静态域,以及实例域和静态域对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
JAVA 实例域和静态域分别是什么意思
实例域:故名意义需要实例如类后方可使用里面的属性、方法静态域:则不需要可以直接使后,更重的是静态域可以作为系统缓存在不同类中使用,也可以理解全局的概念
java中静态区和静态域的开辟时间,作用域,和特点
首先我个人对这个区和域有点分不开,也不知道理解是否正确,在我心中区和域尚且当作一个东西吧,在Java中当一个累被触发(调用,实例化对象,序列化......)就会立即的被JVM的相关加载器Loader所加载,当加载的时候在类文件进行初始化阶段就会为当前类范围的静态(属性/行为)开辟相关的内存堆栈空间,不一定非要等到创建对象的时候才会开辟,因为静态成员是从广义上讲是系统固有的与对象没有关系,但是从面向对象的封装角度来看他是归属类级别的,所以你上面的说的静态区和域的开辟时间也就是该静态成员所在归宿类被触发阶段,至于作用于也就是面向整个系统,特点嘛无非就是一个游离与整个系统之类的单一性成员,不过在多线程并发开发中尤其要慎用static相关成员
java中的静态域到底在类的定义中扮演了一个怎样的角色?
static是个修饰词,表示静态
类变量也叫静态变量,也就是在变量前加了static 的变量;
实例变量也叫对象变量,即没加static 的变量;
区别在于:
类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;
例:
public class A{
static int a = 0; //类变量
private int b = 0; //实力变量
}
public class B{
public void main (String[] args){
A a1 = new A();
A a2 = new A();
a1.a = 3; // 等同于 A.a = 3;
a1.b = 4 ;
System.out.println(a2.a); //结果为3
//类变量是针对所有对象的,所以a1改变a,a2的a也改变
System.out.println(a2.b); //结果为0
//实例只改变自身的,所以a1对象的b改变,不影响对象a2的b变量
}
}
关于java类静态域和实例域和静态域的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-21,除非注明,否则均为
原创文章,转载请注明出处。