Static关键字

static关键字
由static修饰的变量,常量和方法分别被称作静态方法,静态变量和静态方法,又被称作类的静态成员。成员方法包括实例方法和静态方法,成员变量包括实例变量和实例方法。

这里要强调一下:

1.static被翻译为“静态的”;
   2.所有static关键字修饰的都是和类相关的,类级别的。
   3.所有static修饰的,都是采用“类名.”的方式访问。

    当然”类名.”也是可以省略的。
   4.static修饰的变量:静态变量
   5.static修饰的方法:静态方法


 什么时候变量声明为实例的,什么时候用static声明为静态的?
        如果这个类型的所有对象的某个属性值都是一样的,
        不建议定义为实例变量,浪费内存空间。建议定义为类级别特征,
        定义为静态变量,在方法区中只保留一份,节省内存开销。
        一个对象一份的是实例变量。
        所有对象一份的是静态变量。、

static的三点主要作用:

1.定义静态变量:

例如://定义一个类:中国人
class Chinese{
   
//身份证号
    //每一个人的身份证号不同,所以身份证号应该是实例变量,一个对象一份。以下到name之间的成员变量类似
    String idCard;
   
String name;
   
//对于中国人这个类来说,国籍都是中国,不会随着对象的改变而改变。
    //显然国籍不是对象级别的特征,所以就用static
    //重点五颗星:加static的变量叫做静态变量
    //静态变量在类加载时初始化,不需要new对象,静态变量的空间就开出来了。
    //静态变量存储在方法区
   static String country="中国";//在加载Chinese类的时候,发现Chinese类中有一个静态变量,此时会给该静态变量初始化。
                         //叫做Chinese类的静态属性,就是中国

}

2.定义静态方法:

      基本格式为:

      【修饰符】static【返回值类型】【方法名】

               {

                          方法体;

              }

3.定义静态代码块:

例子如下:

  1.使用static关键字可以定义:静态代码块
     2.什么是静态代码块,语法是什么?
        static{
           java
语句;
           java 语句;
      }
     3.static
静态代码块在什么时候执行呢?
        类加载时执行,并且只执行一次。
        静态代码块有这样的特征/特点。
     4.注意:静态代码块在类加载时执行,并且在main方法执行前执行。
     5.静态代码块一般是按照自上而下的顺序去执行。
     6.静态代码块有啥作用?
       第一:静态代码块不是那么常用。(不是每一个类中都要写的东西。)
       第二:静态代码块这种语法机制实际上是sun公司给我们JAVA程序员的一个特殊时刻/时机。
             这个时机叫:类加载时机。

       具体业务:
           项目经理说了:大家注意了,所有我们编写的程序中,只要是类加载了,请记录一下累加的日志信息(在什么时候
           ,那个类加载到了JVM当中了)。
           思考:这些记录日志的代码写到哪里呢?
                写到静态代码块当中。

 */
public class StaticTest06 {
   
static {
       
System.out.println("A");

    }
   
//一个类中可以编写多个静态代码块
    static {
       
System.out.println("B");
    }
   
//入口
    public static void main(String[] args) {
       
System.out.println("Hello World");
    }
   
//编写一个静态代码块
    static {
       
System.out.println("C");
    }
}

/*
输出结果:
  A
  B
  C
  Hello World
 */

      


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值