蒯读什么音?(蒯读什么) 一般网上旅游路线订购流程(一般网上旅游路线订购流程是什么) AutoCAD趣味图《钢铁侠能量环》的画法(钢铁侠画画图) soho中国怎么读(soho怎么读) 永猎双子千珏打野符文天赋加点图(永猎双子打野技能加点) 百度改版后 如何进入百度经验(百度改版后,如何进入百度经验课堂) 山东理工大学教学综合信息服务平台(山东理工大学教务处) 神仙道兽魂碎片怎么用(神仙道兽魂碎片怎么用好) 彩虹岛香蕉苹果是哪几个区合的(彩虹岛上海香蕉苹果里有那些名人) 退市后股民手中的股票怎么办(纽交所退市后股民手中的股票怎么办) 李佛保(李保海 玄祖香为什么被撤职) 艾尔登法环天空之城怎么去(艾尔登法环天空之城怎么去Boss) 夏天的儿童画怎么画 ?(夏天的儿童画怎么画简单又漂亮图片) 女娲造人的故事100字概括(女娲造人的故事100字) 美的净水器质量好吗(美的净水器质量好吗安全吗) 小米对讲机频道设置(小米对讲机频道设置方法) 孰女俱乐部如狼似虎(狼虎中年女偷性) 大闸蟹清理方法(大闸蟹清理方法图解) 火锅底料怎么煮麻辣烫(火锅底料怎么煮麻辣烫吃) 山窝里的科技强国精校版(山窝里的科技强国) 2k12最新名单使用教程(2k12补丁和最新名单) #PS工具介绍#移动工具的详细介绍 篮球斗牛的玩法与规则(篮球中的 ldquo 斗牛 rdquo 是什么意思) 如何用支付宝花呗付款(如何用支付宝花呗付款的钱) 咬定青山不放松写的什么(咬定青山不放松写的植物是) 如何做一名合格的男秘书 怎样安装手写板驱动(怎样安装手写板) 幻灵游侠宝宝升级方法(幻灵游侠宝宝升级方法选择) 百度音乐链接怎么复制 百度音乐链接在哪里(百度音乐链接怎么复制,百度音乐链接在哪里呢) ABC卡盟辅助(abc卡盟) 光盘如何刻录文件(光盘如何刻录文件内容) 手机无法播放优酷视频 如何解决(手机无法播放优酷视频,如何解决呢) 秋风清李白古诗(秋风清) 网上怎么交话费(网上怎么交话费?) 脸上过敏发红发痒怎么办?(脸上过敏发红发痒怎么办最有效吃什么维生素) 铜壶烧水里面发黑(铜壶烧水泡茶好) 百度经验如何抽奖(百度怎么抽奖) 号暗藏命运玄机(号码的玄机) 聚乳酸生物可降解材料(可降解材料有哪些) 怎么设置qq空间形象墙(如何设置qq空间照片墙) 阴阳师业火原怎么打(阴阳师的业原火怎么打) plenty of可以放在句首吗?(plenty of修饰可数还是不可数) AE教程 如何制作全息影像特效动画(ae怎么做全息投影) dnf55冰龙怎么打(深渊冰龙15怎么打) 酚酞溶液测碳化深度(碳化深度怎么测) 泡茶用什么杯子(茶叶用什么杯子泡好) 商务签证办理流程及材料(商务签证办理流程及材料要求) 咖啡怎么做好喝又简单(咖啡怎么做出来的) 如何让EXCEL表格打印每页都显示标题行(excel标题行 每页都显示怎么打印出来) 2018年黑龙江高校排名 2018年黑龙江大学排名(黑龙江省所有大学排名榜)
您的位置:首页 >要闻 >

static java 参数变了数据没变

导读 关于static java 参数变了数据没变这个问题很多朋友还不知道,今天小六来为大家解答以上的问题,现在让我们一起来看看吧!1、是静态修饰

关于static java 参数变了数据没变这个问题很多朋友还不知道,今天小六来为大家解答以上的问题,现在让我们一起来看看吧!

1、是静态修饰符,什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。

2、这样做有什么意义呢? 在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用static声明的(在这里所讲排除了类的访问控制),例如: 未声明为static class ClassA{ int b; public void ex1(){ … } } class ClassB{ void ex2{ int i; ClassA a = new ClassA(); i = a.b; //这里通过对象引用访问成员变量b a.ex1; //这里通过对象引用访问成员函数ex1 } } 声明为static class ClassA{ static int b; static void ex1(){ … } } class ClassB{ void ex2{ int i; i = ClassA.b; //这里通过类名访问成员变量b ClassA.ex1; //这里通过类名访问成员函数ex1 } } 通过以上两种比较,就可以知道static用来修饰类成员的主要作用了,在java类库当中有很多类成员都声明为static,可以让用户不需要实例化对象就可以引用成员,最基本的有Integer.parseInt(),Float.parseFloat()等等用来把对象转换为所需要的基本数据类型。

3、这样的变量和方法我们又叫做类变量和类方法。

4、 接下来讲一下被static修饰后的变量的值的问题,刚才在前面讲过,被static修饰后的成员,在编译时由内存分配一块内存空间,直到程序停止运行才会释放,那么就是说该类的所有对象都会共享这块内存空间,看一下下面这个例子: class TStatic{ static int i; public TStatic(){ i = 4; } public TStatic(int j){ i = j; } public static void main(String args[]){ TStatic t = new TStatic(5); //声明对象引用,并实例化 TStatic tt = new TStatic(); //同上 System.out.println(t.i); System.out.println(tt.i); System.out.println(t.i); } } 这段代码里面Tstatic类有一个static的int变量I,有两个构造函数,第一个用于初始化I为4,第二个用于初始化i为传进函数的值,在main中所传的值是5,程序首先声明对象的引用t,然后调用带参数的构造函数实例化对象,此时对象t的成员变量I的值为5,接着声明对象tt,调用无参数的构造函数,那么就把对象tt的成员变量i的值初始化为4了,注意了,在这里i是static,那就是说该类的所有对象都共享该内存,那也就是说在实例化对象tt的时候改变了i的值,那么实际上对象t的i值也变了,因为实际上他们引用的是同一个成员变量。

5、最后打印的结果是三个4。

6、呵呵,写到这里大家是否明白了呢?不明白就再看看书或者多写几个例子印证一下,呵呵。

本文分享完毕,希望对大家有所帮助。

标签:

免责声明:本文由用户上传,如有侵权请联系删除!

最新文章