2021-9-13 关键字static

关键字static

一,static关键字含义
1,static是静态的,与其相联系的是静态变量,那什么是静态变量

(1)static的修饰方法=静态方法;它的变量为静态变量
(2)静态变量是修饰方法,指的是所有对象都具有这个属性,并且所有对象的这个属性的值是一样的,这个被称为静态变量。
(3)与静态变量相对应的是实例变量,指的是所有对象都具有这个属性,并且所有对象的属性会随着对象的变化而变化。

2,静态变量的机制和用法

(1)静态变量在类加载时初始化,内存在方法区中开辟,访问的时候不需要创建对象的,直接访问即可。语法是**“类名.静态变量名字”**
(2)我们学过用“引用.变量”的方式访问对象,在静态变量访问时也可以使用,但最好还是用上述方式访问。

二,static关键字的特殊机制

1,static关键字可以在其中使用句子:static{ java语句 }
2,这个是静态代码块语法,在类加载时执行,并且仅执行一次
3,静态代码块可以编写多个,遵顼自上而下的原则
注意: 静态代码块,也有可能不会在类被加载时执行
4.额外的,static静态代码块使用很频繁,项目里可能会要求类加载时日志的记录等要求,这时要用得到静态代码块。静态代码块是为程序员准备的特殊语法,被称为类加载时刻。它还是经常被用在记录或执行一些特殊要求的,一些固定的内容可以永久放入静态代码块。它还会有很多使用,希望以后可以写到。
5,当然,还有实例化代码块,与静态一样,也可以编写多个,其对应代码只执行一次。它在构造方法前面依次执行。

public class Chinese {
	//创建静态变量
	 static String country;
	 static int id;
	 static boolean boy,girl;
static {
	System.out.println("take it boy");
}
public Chinese() {
      Chinese.country="China";
      Chinese.id=110111;
      Chinese.boy=true;
      Chinese.girl=false;
	//类名.变量名即可访问,不需要再用this了,this后期也是有很大局限性的
}
public static void main(String []args) {
	Chinese du=new Chinese();//创建对象
       System.out.println(du.boy);	
//???按理说静态方法可以直接执行!不需要创建对象,可为什么还要创建对象并访问
       System.out.println(du.girl);	
       System.out.println(du.country);	
       System.out.println(du.id);	
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值