Java笔记 Static关键字(2020.5.16)

(如有问题,欢迎各位大佬批评指正)

static

概述:
一旦使用了static关键字,那么这样的内容不再是属于对象自己,而是属于类的。所有的类的对象共享
Java笔记 Static关键字(2020.5.16)_第1张图片

static修饰方法

  • 如果没有static关键字,那么必须要先创建对象,然后通过对象才能使用
  • 如果有了static关键字,那么不需要创建对象,直接可以使用类名调用
    无论是成员变量还是成员方法,如果有了static,都推荐使用类名调用

注意事项:

  1. 静态不能直接访问非静态,因为内存中先有静态,然后在有非静态
  2. 静态方法不能使用this关键字,this关键字代表当前对象,通过谁调用的方法,谁就是当前对象

public class Demo02MyClass {
    public static void main(String[] args) {
        MyClass one = new MyClass();
        //非静态方法
        one.myMethod();
        //静态方法
        MyClass.myStaticMethod();
    }
}

Static 内存图

Java笔记 Static关键字(2020.5.16)_第2张图片

静态代码块

静态代码块格式:
static {
//内容
}
特点: 静态代码块执行唯一的一次,静态内容总是优先于非静态内容

//用来一次性对静态变量进行赋值
package md.day04;

public class Person {
    static {
        System.out.println("我是静态代码块");
    }

    public Person () {
        System.out.println("我是构造方法");
    }

}

你可能感兴趣的:(Java)