如何在 Java 中从静态方法调用抽象类的非静态方法?

java 8object oriented programmingprogramming更新于 2025/4/26 18:52:17

没有主体的方法称为抽象方法。它仅包含带有分号的方法签名,并在其前面有一个 abstract 关键字。

public abstract myMethod();

要使用抽象方法,您需要通过扩展其类来继承它并为其提供实现。

抽象类

包含 0 个或多个抽象方法的类称为抽象类。如果它至少包含一个抽象方法,则必须将其声明为抽象方法。

因此,如果您想阻止直接实例化类,可以将其声明为抽象类。

访问抽象类的非静态方法

由于您无法实例化抽象类,因此也无法访问其实例方法。您只能调用抽象类的静态方法(因为不需要实例)。

示例

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();
   }
}

输出

抽象类的方法

相关文章