English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java의 정적 메서드에서 추상 클래스의 비정적 메서드를 호출하는 방법은 무엇인가요?

주체가 없는 메서드는 추상 메서드라고 합니다. 그것은 반쌍점과 앞의추상키워드 메서드 서명

public abstract myMethod();

추상 메서드를 사용하려면 그를 확장하고 그에 대해 구현을 제공하는 클래스를 继承해야 합니다.

추상 클래스

0개 또는 여러 개의 추상 메서드를 포함하는 클래스는 추상 클래스라고 합니다. 그것이 최소한 하나의 추상 메서드를 포함하면 abstract로 선언해야 합니다.

따라서, 클래스의 인스턴스화를 직접 방지하려면 추상적으로 선언할 수 있습니다.

추상 클래스의 비스테이티크 메서드에 접근

추상 클래스를 인스턴스화할 수 없기 때문에其实例 메서드에 접근할 수 없습니다. 추상 클래스의 스타틱 메서드만 호출할 수 있습니다(인스턴스가 필요하지 않기 때문입니다).

예제

abstract class Example{
   static void sample() {
      System.out.println("추상 클래스의 스타틱 메서드");
   }
   public void demo() {
      System.out.println("추상 클래스의 메서드");
   }
}
public class NonStaticExample{
   public static void main(String args[]) {
      Example.sample();
   }
}

출력 결과

추상 클래스의 스태틱 메서드

예제

추상 클래스의 비스테이티크 메서드에 접근하는 유일한 방법은 그를 확장하고 추상 메서드(있는 경우)를 구현한 후 필요한 메서드를 호출하는 서브클래스 객체를 사용하는 것입니다.

abstract class Example{
   public void demo() {
      System.out.println("추상 클래스의 메서드");
   }
}
public class NonStaticExample extends Example{
   public static void main(String args[]) {
      new NonStaticExample().demo();
   }
}

출력 결과

추상 클래스의 메서드
추천 합니다