정적 방법과 인스턴스 방법의 차이는 주로 두 가지 측면에서 반영됩니다.
정적 메소드를 외부로 호출 할 때 "클래스 이름. 메소드 이름"메소드 또는 "개체 이름. 메소드 이름"을 사용할 수 있습니다. 예제 방법은 후자의 방법입니다. 즉, 정적 메소드를 호출하면 객체를 만들 필요가 없습니다.
이 클래스의 멤버에 액세스 할 때 정적 메소드는 정적 멤버 (즉, 정적 멤버 변수 및 정적 메소드)에만 액세스 할 수 있지만 인스턴스 멤버 변수 및 인스턴스 메소드에 대한 액세스를 허용하지 않습니다. 인스턴스 방법에는 그러한 제한이 없습니다.
다음 예는이 차이를 보여줍니다.
1. 정적 메소드를 호출하는 예
//------------ hasStaticMethod.java---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
다음 프로그램은 두 가지 양식을 사용하여 정적 메소드를 호출합니다.
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
이 프로그램은 허용 가능한 정적 메소드를 두 번 호출하며 프로그램의 출력은 다음과 같습니다.
이것은 정적 방법입니다. 이것은 정적 방법입니다.
객체를 만들지 않고 정적 메소드를 호출 할 수있게하는 것은 특정 공통 방법을 호출 할 때 프로그래머의 번거 로움을 줄이기 위해 프로그래머가 기능을 사용하여 전통적인 C 언어의 메소드를 사용할 수 있다는 것입니다. 일반적인 예는 일부 이전 프로그램에서 "math.ramdon ()"을 사용하여 임의의 숫자를 얻는 것입니다.
또 다른 일반적인 대표자는 배열 인 배열 처리 도구입니다
2. 정적 메소드 액세스 멤버 변수의 예
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // 정확합니다. 자신의 로컬 변수 SA = 15를 가질 수 있습니다. // 정적 변수 IA = 30을 사용할 수 있습니다. // 정확한 경우 instance variable statmethod ()를 사용할 수 있습니다. // 정적 메소드를 호출 할 수 있습니다}}
이 예제는 실제로 한 문장으로 요약 될 수 있습니다. 정적 메소드는 정적 멤버 만 액세스 할 수 있으며 인스턴스 메소드는 정적 및 인스턴스 멤버에 액세스 할 수 있습니다. 정적 메소드가 인스턴스 멤버 변수에 액세스 할 수없는 이유는 인스턴스 멤버 변수가 객체에 속하고 정적 메소드가 실행되면 객체가 반드시 존재하지 않기 때문입니다. 마찬가지로 인스턴스 메소드가 인스턴스 멤버 변수에 액세스 할 수 있으므로 정적 메소드가 인스턴스 메소드를 호출 할 수 있으면 인스턴스 멤버 변수를 간접적으로 사용하여 인스턴스 메소드를 호출 할 수 없습니다. 동일한 원칙에 따라,이를 정적 메소드에서 사용할 수 없습니다.
Main () 메소드는 일반적인 정적 메소드이며 일반적인 정적 방법의 규칙을 따릅니다. 따라서 객체를 작성하기 전에 시스템에서 호출 할 수 있습니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.