Java-认识代码块!

1、普通代码块
即定义在方法中的代码块:

public class Main{
    
    
 public static void main(String[] args) {
    
    
  {
    
    //直接使用{}定义普通方法块
   int x=10;
   System.out.println("x1="+x);
  }
  int x=100;
  System.out.println("x2="+x);
 }
}

运行结果:

x1=10
x2=100

2、构造代码块
构造代码块:定义在类中的代码块(不加修饰符)。也叫:实例代码块。构造代码块一般用于初始化实例成员变量。

class Person{
    
    
 private String name;
 private int age;
 private String sex;
 public Person() {
    
    
  System.out.println("I am Person init()!");
 }
 //实例代码块
 {
    
    
  this.name="yinger";
  this.age=20;
  this.sex="gril";
  System.out.println("I am instance init()!");
 }
 public void show() {
    
    
  System.out.println("I am "+name+",my age is"+age+";I am a "+sex);
 }
}
public class Main{
    
    
 public static void main(String[] args) {
    
    
  Person p1=new Person();
  p1.show();
 }
}
 

运行结果:

I am instance init()!
I am Person init()!
I am yinger,my age is20;I am a gril

注意!!!
实例代码块优先于构造函数执行
3、静态块
使用static定义的代码块。一般用于初始化静态成员属性!

class Person{
    
    
 private String name;
 private int age;
 private String sex;
 private static int count=0;//静态成员变量
 public Person() {
    
    
  System.out.println("I am Person init()!");
 }
 //实例代码块
 {
    
    
  this.name="yinger";
  this.age=20;
  this.sex="gril";
  System.out.println("I am instance init()!");
 }
 //静态代码块
 static {
    
    
  count=10;//只能访问静态数据成员
  System.out.println("I am static inie()!");
 }
 public void show() {
    
    
  System.out.println("I am "+name+",my age is"+age+";I am a "+sex);
 }
}
public class Main{
    
    
 public static void main(String[] args) {
    
    
  Person p1=new Person();
  p1.show();
 }
}

运行结果:

I am static inie()!
I am instance init()!
I am Person init()!
I am yinger,my age is20;I am a gril

注意!!!
1、静态代码块不管生成多少个对象,其只会执行一次,且是最先执行的。
2、静态代码块执行完毕后, 实例代码块(构造块)执行,再然后是构造函数执行。

猜你喜欢

转载自blog.csdn.net/weixin_44378053/article/details/104282628