1. 정적 코드 블록과 비정적 코드 블록에 대한 간략한 요약
1. 정적 코드 블록:
정적 코드 블록은 클래스가 로드(메모리)될 때 가장 먼저 호출되고 한 번 실행됩니다. 정적 블록은 클래스 속성의 초기화를 수행하는 데 자주 사용됩니다. 클래스를 로드하기 전에 호출됩니다.
2. 비정적 코드 블록:
비정적 코드 블록은 클래스의 객체가 생성되고 로드될 때(메모리) 처음 호출됩니다. 객체가 로드되면 비정적 코드 블록이 한 번 실행됩니다. 클래스 객체를 로드하기 전에 호출됩니다.
3. 정적 메서드와 비정적 메서드: 호출되면 모두 실행됩니다. 정적 메서드는 클래스에 속하며 클래스를 로드한 후에 호출할 수 있습니다. 비정적 메서드는 개체에 속하고 비정적 메서드는 개체를 로드한 후에 호출할 수 있습니다.
2. 관련 예제 데모
1 public class Cc { 2 public static void main(String[] args) { 3 test p=new test(); 4 } 5 } 6 7 class test { 8 test() { //在类对象创建的时候就开始执行。简称创建即执行。 9 System.out.println("这是构造函数");10 }11 12 { //构造代码块,执行在构造函数之前,每当在创建类对象的时候都执行。13 System.out.println("这是构造代码块");14 }15 16 static { //静态代码块,最早执行,且值执行一次。17 System.out.println("这是静态代码块");18 }19 }
인쇄 결과:
두 번 호출하면 어떤 일이 발생하는지 보여줍니다. 정적 코드 블록에 대한 이해를 심화하세요.
1 public class Ccc { 2 public static void main(String[]args) 3 { 4 MyTest p=new MyTest(); 5 MyTest p2=new MyTest();//两次调用 6 } 7 } 8 class MyTest{ 9 10 MyTest(){11 System.out.println("这是构造函数");12 }13 14 {15 System.out.println("这是构造代码块");16 }17 18 static{19 System.out.println("这是静态代码块");20 21 }22 }
인쇄 결과는 다음과 같습니다.
매개변수가 포함된 예를 소개합니다.
1 class Cccc { 2 public static void main(String[] args) { 3 new Person(77); 4 new Person(); 5 } 6 } 7 8 class Person { 9 10 Person() { 11 System.out.println("a"); 12 } 13 14 15 Person(int x) { //注意带参数了!! 16 System.out.println(x); 17 } 18 19 static { 20 System.out.println("b"); 21 } 22 23 { 24 System.out.println("c"); 25 } 26 }
인쇄 결과:
위 내용은 세 가지 경우, 정적 코드 블록과 구성된 코드 블록 해석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!