JAVA基础——static关键字

目录

1.static关键字

1.1、static关键字含义

1.2、static关键字应用

问题:

1.Static关键字是什么?

2.为什么设计sataic关键字?

例一:

1.思考这段代码的运行流程,以及结果。

2.首先我展示运行结果:​编辑

         3.再来描述一下过程


1.static关键字

1.1、static关键字含义

  • 类变量:使用static关键字声明的变量称为类变量或静态变量。这些变量属于类本身,而不是类的任何特定实例。因此,无论创建多少个类的实例,静态变量都只有一个副本。
    public class MyClass {
        public static int count = 0; // 类变量
    }
  • 类方法:使用static关键字声明的方法称为类方法或静态方法。这些方法可以在不创建类的实例的情况下被调用,并且它们只能访问类的静态变量和调用静态方法。
    public class MyClass {
        public static void printMessage() {
            System.out.println("Hello, World!");
        }
    }
  • 静态初始化块static关键字可以用于定义一个静态初始化块,它是在类加载时执行的代码块,用于初始化静态变量。静态初始化块只在类第一次被加载时执行一次。
    public class MyClass {
        static {
            // 初始化代码
        }
    }

1.2、static关键字应用


问题:
1.Static关键字是什么?


 答:static修饰代码属于类

2.为什么设计sataic关键字?


 答: 要用方法和类去使用自己的方法和变量

                了解之后我们看个例子:

例一:

1.思考这段代码的运行流程,以及结果。
public class Demo {
    public Demo(String aa){
        System.out.println("00"+aa);
    }
    static {
        System.out.println("1");
    }
    public static Demo demo = new Demo("***");

    static {
        System.out.println("2");
    }
}
class Test2{
    
    public static void main(String[] args) {
        Demo demo = new Demo("----");
    }
    static {
        System.out.println("3");
    }
}
2.首先我展示运行结果:


3.再来描述一下过程


1.扫码————》加载(编译)————》运行
*2.main方法在哪里我们就先去扫描那个类——》首先去扫描Test类,发现没有父类,有static修饰的代码,输出3,编译Test类,并且将main方法入栈
3..执行new Demo("----");在执行之前扫描Demo类,发现没有父类,所以编译Demo类,在编译的过程中static代码块按顺序优先执行
4..输出1
5..执行 public static Demo demo = new Demo("***");此时会涉及到调用Demo构造方法,所以输出 00***
6..输出 2
7..编译完毕,回到main方法当中维续执行new Demo("----");现在可以创建对象了也就是进行到了运行阶段
8..通过调佣构造器创建对象:00----

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值