专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Java核心static静态代码块与静态方法

  • static关键字
    • static修饰的方法或者变量,优先于对象执行,所以在内存中
      • 先有static修饰的内容
      • 再有对象的内容
    • 可以用来修饰类的成员方法、成员变量、static静态代码块
    • 修饰变量就是类变量,修饰的方法就是类方法
    • 类变量和类方法,直接能够通过 类名.方法名/变量名 调用,不需要经过创建的对象
public class StudentStatic {

    String name;

    //静态变量  
    static int age;

    public int getAge() {
        return age;
    }
    public static void setAge(int age) {
        StudentStatic.age = age;
    }
}

public class Student {
    public static void main(String[] args) {
        StudentStatic studentStatic = new StudentStatic();
        studentStatic.name="junko";
        StudentStatic.age=24;

        StudentStatic studentStatic2 = new StudentStatic();
        studentStatic2.name="jjbq";

        System.out.println(studentStatic.name);
        System.out.println(studentStatic.getAge());

        System.out.println(studentStatic2.name);
        System.out.println(studentStatic.getAge());
    }
}

运行结果

81_1.png

可以看到,在StudentStatic 定义的静态变量age不能直接被对象studentStatic 调用,需要通过方法getAge。或者System.out.println(StudentStatic.age);

同时可以发现,两个对象输出的静态变量age是相同的,因此引出static的另一个点:

  • static变量也称作静态变量
    • 和非静态变量的区别是,静态变量被所有对象共享,在内存中只有一份。它当且仅当在类初次加载时被初始化。
    • 非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响
    • static成员变量的初始化顺序按照定义的顺序进行初始化
  • static方法也称作静态方法
    • 不依赖于任何对象就可以进行访问 类名.方法名
      • > StudentStatic.getAge();
    • 不能访问类的非静态成员变量和非静态成员方法
      • > 81_2.png

  • 静态代码块
    • 加载类的时候,静态代码块会被执行一次,且只能执行一次
    • 静态内容优先于非静态内容,所以静态代码块比构造方法先执行
    • 使用场景:用来一次性对静态成员变量进行赋值,或者类资源初始化操作(例如redisUtils,dateUtils等)
public class StudentStatic {

    static {
        System.out.println("静态代码块被执行了!");
    age=23;
    }

再次运行输出,可以看到

81_3.png

最后的一些注意事项

  • 静态方法不能直接访问非静态变量
  • 静态方法中不能用this
  • 核心:一个类里面static修饰的不能访问非static修饰的成员或者方法,而非static修饰的可以访问static修饰的成员或者方法

文章永久链接:https://tech.souyunku.com/27242

未经允许不得转载:搜云库技术团队 » Java核心static静态代码块与静态方法

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们