자바에서 정적 메서드는 정적 메서드로 수정된 멤버 메서드를 말합니다. 정적 메서드는 자신이 속한 클래스의 인스턴스 없이 호출할 수 있으므로 정적 메서드에서는 this 키워드를 사용할 수 없으며, 해당 클래스의 인스턴스 변수 및 인스턴스 메서드에 직접 액세스할 수 없습니다. , 자신이 속한 클래스의 정적 변수 및 정적 메서드에 직접 액세스할 수 있습니다.
이 튜토리얼의 운영 환경: windows7 시스템, java8 버전, DELL G3 컴퓨터.
정적 메서드(또는 클래스 메서드)는 정적으로 수정된 멤버 메서드를 말합니다.
정적 메서드와 인스턴스 메서드의 차이점:
정적 메서드는 자신이 속한 클래스의 인스턴스 없이 호출할 수 있으므로 this 키워드는 정적 메서드에서 사용할 수 없으며 직접 액세스할 수도 없습니다. 인스턴스 변수 및 인스턴스 메서드가 속해 있지만 정적 변수 및 해당 클래스의 정적 메서드에 직접 액세스할 수 있습니다. 또한 this 키워드와 마찬가지로 super 키워드도 클래스의 특정 인스턴스와 관련되어 있으므로 정적 메서드에서는 super 키워드를 사용할 수 없습니다.
인스턴스 메소드에서는 정적 변수, 정적 메소드, 인스턴스 변수 및 이들이 속한 클래스의 인스턴스 메소드에 직접 액세스할 수 있습니다.
예:
정적 변수가 포함된 클래스를 생성하고 여러 정적 메서드를 추가하여 정적 변수의 값을 수정한 후 main() 메서드에서 정적 메서드를 호출하여 결과를 출력합니다.
public class StaticMethod { public static int count = 1; // 定义静态变量count public int method1() { // 实例方法method1 count++; // 访问静态变量count并赋值 System.out.println("在静态方法 method1()中的 count="+count); // 打印count return count; } public static int method2() { // 静态方法method2 count += count; // 访问静态变量count并赋值 System.out.println("在静态方法 method2()中的 count="+count); // 打印count return count; } public static void PrintCount() { // 静态方法PrintCount count += 2; System.out.println("在静态方法 PrintCount()中的 count="+count); // 打印count } public static void main(String[] args) { StaticMethod sft = new StaticMethod(); // 通过实例对象调用实例方法 System.out.println("method1() 方法返回值 intro1="+sft.method1()); // 直接调用静态方法 System.out.println("method2() 方法返回值 intro1="+method2()); // 通过类名调用静态方法,打印 count StaticMethod.PrintCount(); } }
이 프로그램을 실행한 후의 결과는 다음과 같습니다.
在静态方法 method1()中的 count=2 method1() 方法返回值 intro1=2 在静态方法 method2()中的 count=4 method2() 方法返回值 intro1=4 在静态方法 PrintCount()中的 count=6
이 프로그램에서는 정적 변수 count가 인스턴스 간 공유 데이터로 사용되므로 count를 다른 메소드로 호출하면 값이 달라집니다. 이 프로그램에서 볼 수 있듯이 정적 메서드인 method1() 및 PrintCount()에서는 비정적 메서드인 method1()을 호출할 수 없지만, 정적 메서드인 method2() 및 PrintCount()는 method1()에서 호출할 수 있습니다. 방법.
비정적 메서드에 액세스할 때는 인스턴스 개체를 통해 액세스해야 합니다. 정적 메서드에 액세스할 때는 클래스 이름을 통해 또는 인스턴스화된 개체를 통해 직접 액세스할 수 있습니다.
추천 관련 비디오 튜토리얼: Java 비디오 튜토리얼
위 내용은 Java 정적 메소드란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!