java中什么时候用静态 ,好处是什么?

 我来答
千锋教育
2015-12-05 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
/*
static(静态\修饰符)

1. static修饰成员变量 :如果有数据需要被共享给所有对象使用时,那么就可以使用static修饰。

静态成员变量的访问方式:

方式1: 可以使用对象进行访问。
格式: 对象.变量名。

方式二: 可以使用类名进行访问。
格式: 类名.变量名;

注意: 
1. 非静态的成员变量只能使用对象进行访问,不能使用类名进行访问。
2. 千万不要为了方便访问数据而使用static修饰成员变量,只有成员变量的数据是真正需要被共享的时候
才使用static修饰。

static修饰成员变量的应用场景: 如果一个数据需要被所有对象共享使用的时候,这时候即可好实用static修饰。


2. static修饰成员函数:

*/

class Student{

static String name;  //非静态成员变量

static String  country  = "中国";   //静态的成员变量

public Student(String name){
this.name = name;
}
}


class Demo10 {


public static void main(String[] args) 
{
Student s1 = new Student("狗娃");
Student s2 = new Student("狗剩");

//System.out.println("国籍:"+ Student.country);
System.out.println("名字:"+ s1.name);
System.out.println("名字:"+ s2.name);
}
}
y393016244
2011-05-12
知道答主
回答量:62
采纳率:0%
帮助的人:27.5万
展开全部
Java类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,有些时候可以认为是全局变量。因此在某些时候为了节省系统内存开销、共享资源,可以将类中的一些变量声明为静态变量,通过下面的例子
Java代码

  public class WeekA{

  static class Data {

  private int week;

  private String name;

  Data(int i, String s) {

  week= i;

  name = s;

  }

  }

  Data weeks[] = {

  new Data(1, "Monday"), new Data(2, "Tuesay"), new Data(3, "Wednesday"), new Data(4, "Thursday"), new Data(5, "Friday"), new Data(6, "Saturday"), new Data(7, "Sunday")

  };

  public static void main(String args[]) {

  final int N = 10000;

  WeekA weekinstance;

  for (int i = 1; i <= N; i++){

  weekinstance = new WeekA ();

  }

  }

  } 来源:考试

希望对你有所帮助
追问
静态常量是分配到静态内存中的,我知道怎么用,就是不知哪个时候用,为什么要用?
追答
静态方法是类方法,不需要去实例化类就可以调用这个方法,静态方法内部使用的是静态变量,这些就相当于全局变量,有类就有方法。它可以不创建类的实例而被调用。但是静态方法是要占用内存的,而且如果全都是静态方法,那么你的类也确实没什么必要了。有个参考资料你可以看下,是别人的回答
参考资料:http://wenwen.soso.com/z/q140812055.htm
楼主问的“为什么要用”其实是没什么意义 用不用只是在个人,如果又一个方法在系统中经常被用到可以考虑用静态的
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zgj340
2011-05-12 · TA获得超过203个赞
知道小有建树答主
回答量:285
采纳率:0%
帮助的人:226万
展开全部
给楼主一个建议,系统的学习一下java。我看的是thinking in java,里面有介绍这部分的,说的是静态的内容并不是完全符合面向对象的思想,但是在很多方面是非常必要的,比如效率方面等等。书里面有很多的例子,具体说明了。这里回答的也只是很片面,不能具体的说明。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
德温瑜We
2011-05-12 · TA获得超过897个赞
知道小有建树答主
回答量:1722
采纳率:0%
帮助的人:750万
展开全部
static主要左右用两个:
1.用于表示所有实例都相同的属性
2.java中没有全局变量,需要用到的时候可用一个静态类实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xye43
2011-05-12 · 超过22用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:56.1万
展开全部
当你一个成员变量在全局中多次使用,而且该变量的值是固定的,这个时候就要用到static来声明变量了。
至于为什么呢,因为你在做项目时,内存的合理使用是很重要的,一个变量声明了static 之后,无乱多少个方法调用它,它在内存中只占用了一个内存,而没有声明,一个方法调用一次,它就占用一次内存。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式