1. 정적 메서드는 클래스 인스턴스화 없이 호출할 수 있는 반면, 비정적 메서드는 호출하기 전에 인스턴스화해야 합니다.
2. 정적 메서드는 정적에만 액세스할 수 있습니다. 모든 비정적 메서드에 액세스할 수 있습니다.
3. 정적 메서드는 재정의로 표시할 수 없으므로 파생 클래스를 다시 작성할 수는 없지만 액세스할 수는 있습니다. 처음으로. 비정적 멤버는 객체를 생성할 때 메모리 할당 측면에서 연속적인 반면, 비정적 멤버는 메모리 저장 측면에서 개별적입니다. 따라서 정적 메서드와 비정적 메서드 간의 호출 속도 측면에서 보면 정적 메서드의 속도는 확실히 빠릅니다. 서두르세요. 비정적 메서드는 인스턴스화하고 메모리를 할당해야 하지만 정적 메서드는 그렇지 않지만 속도 차이는 무시할 수 있기 때문입니다
정적 메서드를 사용해야 하는 경우와 인스턴스 메서드를 사용해야 하는 경우:
2. 동물과 같이 객체 지향 개념이 필요하지 않은 경우 static을 사용하십시오. ->RUN, 확장할 수 있으므로 cat run 및 dog run의 경우 이때 비정적 메서드를 사용해야 합니다
스레드 안전성 정보:
물론 동시성 불안정성은 메서드 자체와 관련이 없으며 공유 리소스와 관련이 있습니다. 각 스레드가 작동하는 특정 변수의 값을 변경할 수 있습니다. 멀티스레딩(동시성은 실제로 멀티스레딩입니다), 작동하면 값이 혼동됩니다. 문제가 있습니다
비정적 방법을 사용하는 이유
본인이 직접 작성한 메소드입니다. 다른 정적 메소드가 없는 이유는 인스턴스화를 원하지 않기 때문에 코드 한 줄을 절약할 수 있고 차이점을 생각해 본 적이 없기 때문입니다. 정적과 비정적 사이==! ~~; 물론, 비정적 메소드를 작성하는 것도 가능합니다.
이유
1. 메소드를 반복적으로 호출해야 하기 때문에 매번 new로 가면 메모리 오버헤드가 발생합니다. 항상 메모리에 있습니다.
2. OO를 수행할 필요가 없습니다.
3. 방법은 new의 내용에 의존하지 않습니다. 정적 메서드, DBHelp는 기본적으로 정적 메서드입니다
위 내용은 C#의 정적 메서드와 비정적 메서드의 차이점 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!