>  기사  >  Java  >  정적 메소드 로딩 순서에 대한 자세한 설명

정적 메소드 로딩 순서에 대한 자세한 설명

零下一度
零下一度원래의
2017-07-19 23:18:504192검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.