> Java > java지도 시간 > 본문

세 가지 경우, 정적 코드 블록과 구성된 코드 블록 해석

巴扎黑
풀어 주다: 2017-06-26 09:30:08
원래의
1591명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿