态 Java의 정적 코드 블록 정적 메서드 차동 메서드 차이점 일반적으로 프로젝트 시작 시 일부 코드를 실행해야 하는 경우 정적 코드 블록을 사용해야 합니다. 이 코드는 객체를 생성하지 않고 정적 메서드를 실행해야 합니다. 이러한 종류의 코드는 클래스가 로드될 때 이미 로드되어 있으며 클래스 이름을 사용하여 직접 호출할 수 있습니다. 정적 코드 블록이 호출될 때 정적 메서드가 자동으로 실행된다는 것입니다. 정적 메서드
(1) Java에서는 객체 생성이 필요 없는 메서드를 정의할 수 있습니다. 이 메서드는 정적 메서드입니다. 이 효과를 얻으려면 클래스에 정의된 메서드 앞에 static 키워드만 추가하면 됩니다. 예를 들어: 공개 정적 int 최대값(int n1,int n2) 클래스의 정적 메서드를 사용할 때 다음 사항에 유의하세요. 정적 메서드에서 a는 동일한 클래스의 다른 정적 멤버(변수 및 메서드 포함)만 직접 호출할 수 있지만 클래스의 비정적 멤버에는 직접 액세스할 수 없습니다. 비정적 메서드와 변수는 사용하기 전에 클래스의 인스턴스 개체를 만들어야 하는 반면, 정적 메서드는 사용하기 전에 개체를 만들 필요가 없기 때문입니다. b 정적 메서드는 사용하기 전에 인스턴스 객체를 생성할 필요가 없기 때문에 this 및 super 키워드를 어떤 식으로든 참조할 수 없습니다. (2) 정적 변수는 객체가 아닌 전체 클래스에 속하는 변수입니다. 메소드 본문 내의 변수는 정적으로 선언될 수 없습니다. 예: fun() { static int i=0;//Illegal. } (3) 클래스는 메소드 본문에 포함되지 않은 정적 코드 블록을 사용할 수 있습니다. 클래스가 로드되면 정적 코드 블록이 실행되며 정적 블록은 클래스 속성을 초기화하는 데 자주 사용됩니다. 예: static { }<br>
public abstract class ClassLoadingTest { public static void main(String[] args) { User user3 = new User(); } }
User user= User("wang",18 "调用userSay静态方法""进入静态构造代码块"= User("wang2333", 19"进入代码块" User(String name, .name =.age = .name = setAge(.age = .getName() + "调用say方法"
执行结果: 进入代码块 调用userSay静态方法 wang调用say方法 进入静态构造代码块 进入代码块 wang2333调用say方法 wang调用say方法 进入代码块
위 내용은 정적 메소드 로딩 순서에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!