정적 코드 블록
static
은 속성, 메서드, 내부 클래스 및 코드 블록을 수정할 수 있습니다.
정적 코드 블록은 클래스가 로드될 때 호출되고 한 번만 실행되며 다양한 코드 블록 및 생성자보다 우선합니다.
정적 코드가 한 곳에서 사용되면 모든 정적 코드 블록이 호출됩니다.
추천 관련 동영상 튜토리얼: java 무료 동영상 튜토리얼
예는 다음과 같습니다:
Parent class
public class Human { static { System.out.println("2.父类中的静态代码块"); } public String name; public Human() { System.out.println("1.父类中的构造方法"); } public static void test() { System.out.println("6.父类中的静态方法"); } }
Subclass
public class Man extends Human { static { System.out.println("4.子类中的静态代码块"); } public Man() { System.out.println("3.子类中的构造方法"); } public static void doo() { System.out.println("5.子类中的静态方法"); } }
Main class
public class Main { public static void main(String[] args) { // Human human = new Man(); 输出2 4 1 3 //父类的类名调用父类的方法 //Human.test(); //输出2 6 在调用静态代码时,怕需要上面的静态代码块的内容,所以将其链接到内存 与子类无关 //子类的类名调用子类的方法 //Man.doo(); // 输出2 4 5 在调用子类的静态方法时,父类的静态代码块执行,与父类的静态代码块有关 //子类的类名调用父类的方法 //Man.test(); // 输出 2 6 注意这个能调test不是因为继承,test声明在了human里,子类可以调用父类的方法, //但是父类不能调用子类的方法 所以在Main中不可直达Man中的的方法 //子类调用了父类的方法,在父类的方法里又引用了子类里的静态方法 //Man.test(); 输出 2 6 4 5 } }
정적 코드 블록의 내용이 먼저 실행됩니다( 단 한 번만) 상위 클래스 생성자를 실행한 다음 하위 클래스 생성자를 실행합니다.
이 글은 java 입문 프로그램 칼럼에서 나온 글입니다. 누구나 함께 소통하고 배울 수 있습니다!
위 내용은 정적 정적 코드 블록에 대한 Java 심층 학습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!