JAVA代码块讲解

1.static关键字♨️

static被称为静态
static修饰的变量称为静态变量
static修饰的方法被称为静态方法
static修饰的变量又被称为类变量
static修饰的变量/方法不依赖于对象,随着类的加载而存在。

2.生命周期的区别

1.静态变量随着类的加载而存在,随着类的销毁而销毁
2.成员变量随着对象的创建而存在,随着对象的回收而释放

3.调用方法的区别

➡️成员变量可以通过对象.成员变量调用
➡️类变量可以通过类名.类变量调用,也可以对象.类变量调用

public class Person {
    private int age;
    private String name;
    private static int size;
    public static void fun1() {
        ;
    }
    public void fun2(){
        System.out.println("很时尚");
    }
    public static void main(String[] args) {
        Person person = new Person();
        person.fun2();
        person.fun1();
        Person.fun1();//注意首字母是大写
    }
}

4.存放的位置

静态变量存放在方法区,静态方法/(变量)只会调用一次其次具有资源共享的作用,注意点:因为共用一个,一个更改全部更改。比如:张三,李四,王五都在一个班里,我们直接使用static修饰

public class Person {
    private int age;
    private static String name;
    private static int size;
   static {
       Person.name="79班";
   }
    public static void main(String[] args) {
        Person person1 = new Person();
        Person person2 = new Person();
        Person person3 = new Person();
        System.out.println(person1.name);
        System.out.println(person2.name);
        System.out.println(person3.name);
        //结果均为79班
    }
}

5.调用的区别

1、在静态方法中,可以调用静态方法。
2、在静态方法中,不能调用非静态方法。
3、在静态方法中,可以引用类变量(static修饰的变量)。
4、在静态方法中,不能引用成员变量(没有被static修饰的变量)。

1、在普通方法中,可以调用普通方法。
2、在普通方法中,可以调用静态方法
3、在普通方法中,可以引用类变量和成员变量(但不能定义static定义的变量又称为类变量)
4、在普通方法中,可以使用this关键字和super

当实例化两个或多个对象的时,静态变量/方法只调用一次,第二个之后将不再调用。

一、局部代码块

局部代码块应用于成员方法中,用于限制变量作用域问题。

二、 静态代码块

1、静态代码块在类加载的时候执行,在main方法之前执行且只执行一次。
2、静态代码块可以有多个,依据从前往后的顺序执行。
3、用于给静态成员变量初始化作用。
4、静态代码块执行次数与创建对象的个数没有关系,静态变量/方法不属于对象,静态的是共享的。
5、静态代码块内部只能初始化静态成员变量,不能初始化实例变量,也不能使用this。
6、在静态代码块中不能引用成员变量和成员方法,静态的可以。
在这里插入图片描述

注意若是a没初始化直接执行5️⃣位置

三、构造方法

1、构造方法的名字必须与定义他的类名完全相同,没有返回值,返回类型也无。
2、主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用new操作进行的
3、类中必定有构造方法,若不写,系统自动添加无参构造方法。
4、new对象时先创建对象后调用构造函数

四、实例代码块

1、执行顺序:静态>实例>构造
2、可以调用普通方法。
3、可以调用静态方法
4、可以引用类变量和成员变量(但不能定义static定义的变量又称为类变量)
5、可以使用this关键字和super

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值