黑马程序员技术交流社区

标题: 为什么要使用静态子字段? [打印本页]

作者: 赵洋3916    时间: 2013-6-14 11:57
标题: 为什么要使用静态子字段?
用静态字段和不用静态字段有什么区别?
作者: 王宝生    时间: 2013-6-14 11:59
一:普通字段要实例化才能使用,没有实例化不能使用。静态字段反之。如:name字段的使用:cla1 i = new cla1();i.name = "张三";sex字段的使用:cla1.sex = "男";
二:普通字段要在实例化时候才分配内存空间,而静态字段在装载程序集的时候就分配内存空间了。
作者: 高腾    时间: 2013-6-14 12:36
静态字段的调用是以类名.字段名来调用,不能用new实例的对象.调用,在装载程序集的时候分配内存空间
非静态字段需要用对象来调用,在对象实例化的时候分配内存空间
static关键字声明类的成员时是与对象无关的

作者: 李奔    时间: 2013-6-14 12:49
静态的字段最大是好处是不用实例化。
直接类名.属性名就能使用。
静态字段最大的作用在于可以在同一个类的不同对象实例之间共享数据。
静态字段属于类,普通字段属于类的实例。
静态字段只能被所属的类直接调用,普通字段只能被类的实例调用。

作者: 彭康    时间: 2013-6-14 13:24
本帖最后由 彭康 于 2013-6-14 13:25 编辑

静态的作用是 使用时不用实例化
假如说你要切菜你的先把菜放在案板上
而静态就是你一直把菜放在案板上的意思非静态的话,你每次使用都要new 一下
new 就是分配内存 也就是把菜放在案板上的意思

作者: 甘斌斌    时间: 2013-6-14 14:03
规则:1、静态的可以访问静态的,不能访问非静态的      

2、非静态的可以访问静态的,也可以访问非静态的

静态字段还有一个好处就是不用new。缺点就是占内存,程序结束后释放。
作者: popoluno    时间: 2013-6-14 14:23
静态字段的调用不用new实例的对象调用,在装载程序集的时候分配内存空间。方便程序间的调用,但浪费内存。而非静态字段需要用对象来调用,在对象实例化的时候才分配内存空间,什么时候用什么时候分配,节约了空间,但每次调用前都要实例化很不方便

作者: 成都—陈超    时间: 2013-6-14 21:23
个人感觉一句话能试下概括,概念百度到处都是
静态字段最大的作用在于可以在同一个类的不同对象实例之间共享数据,记得看到哪本书上说,静态字段也叫共享字段!!
作者: 关关雎鸠    时间: 2013-6-15 11:33
总之,如果某个字段或方法经常被用到,你就定义为静态的,方便调用。。
作者: a767175432    时间: 2013-6-15 11:39
静态字段生命周期很长很消耗内存 而非静态的字段当一个对象消失它也随之消失,万不得已不要用静态的
静态也不能直接访问非静态成员 因为类加载时首先把静态的字段加载到内存当中,而非静态的成员只有实例化该类对象时才会出现,如果没有实例对象,直接用静态成员访问非静态成员,此时非静态成员没有出现在内存中,肯定会出错。。、


作者: aa26963    时间: 2013-6-17 07:30
静态变量,声明这个变量的存储单元静态分配,从程序运算开始到结束这个变量的存储单元不变化。static常用于全局量,一是存在里面的值始终有效,不因进退出子程序数值消失,另外static的变量运算速度比非静态分配的快。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2