static的生命周期,以及使用范围

全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 当类首次被加载时static定义的变量被分配空间,程序结束后由系统释放.如果在一个程序里过多的使用static定义的成员,确实很占内存,因为他的生命周期是整个程序,程序运行时无法被gc所回收,直到程序结束,释放内存. 

================================================================


 

首先,static的用法是:
1.static所修饰的方法和变量是属于类本身,而不是属于对象,无论创建多少个对象实例都是共用一个方法和变量.
2.静态的方法不可以调用非静态的方法,非静态的方法可以调用静态的方法.
其次,
在你的第一个程序中,main()是静态的方法,它要调用yes_no()方法的话,yes_no方法就必须是静态的,所以第一个要用static.
再次,
第二个方法是通过对象调用其内部的方法不算是main()方法直接调用printlnfo().所以不需要用static修饰.
不知道这样回答你是否明白了


 

有两段程序:
public class basic{
 public static void main(String[] args){
  yes_no(2008);
 }
 public ###### void yes_no(int year){ 
  if(year%4==0&&year%100!=0||year%400==0)
   System.out.print(year+"年是闰年。");
  else
   System.out.print(year+"年不是闰年。");
 }
}
-----------------------------------------------------------------
public class basic{
 String name;
 int age;
 public basic(String name,int age){
  this.name=name;
  this.age=age;
 }
 public static void printInfo(){
  System.out.println(name+"已经有"+age+"岁了.");
 }
 public ###### void main(String[] args) {
  String name="Jim";
  int age=19;
  basic temp = new basic(name,age);
  temp.printInfo();
 }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值