JAVA代码块的分类及具体使用

普通代码块

直接用{}定义:

public class TestDemo{
public static viod main(String[] args){
{     
      int a=1;
      int b=2; 
      system.out.println(a); 
      }//普通代码块
      int c=10;
      system.out.println(c);
      }
  }

一般情况下普通代码块使用较少;

构造代码块

构造代码块也叫实例代码块,在执行时实例代码块会在构造方法之前执行。定义一个student类举例:

public class Student{
public int age;
public char name;
public char address;
public Student(){
System.out.println("不带参数的构造方法");
}
//实例代码块
{
this.age=18;
this.name="玛卡巴卡";
this.address="中国";
}

静态代码块

public class Student{
private String name;
private String gender;
private int age;
private double score;
private static String classroom;//静态属性,存放在方法区
public static void study(String name){
System.out.println(name+"在学习");
}
static{
classroom="403";//静态代码块只能访问静态变量和静态方法;
study("小王");
System.out.println("静态代码块");
}

静态代码块即被static修饰的实例代码块,静态代码块只能访问静态变量及静态方法;记住被static修饰的与对象无关即可,不能访问任何通过对象的引用来访问的变量或者方法。

实例代码块,静态代码块及构造方法的执行顺序

public class Student {
        private String name;
        private String gender;
        private int age;
        private double score;
        private static String classroom;//静态属性,存放在方法区
        public static void study(String name){
            System.out.println(name+"在学习");
        }
    {
        this.name="玛卡巴卡";
        this.age=18;
        System.out.println("实例代码块");
    }
        static{
            classroom="403";//静态代码块只能访问静态变量和静态方法;
            study("小王");
            System.out.println("静态代码块");
        }
        public Student(){
            System.out.println("不带参数的构造方法");
        }

    public static void main(String[] args) {
        Student student=new Student();
        System.out.println(student.name+"在写代码");
        System.out.println("--------------------");
        Student student1=new Student();
        System.out.println(student1.name+"在看网课");
    }
}

在这里插入图片描述
由此可见他们的执行顺序为:静态代码块》实例代码块》构造方法;
静态代码块只执行一次;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值