2014-02-23 123 views
13

我知道我们可以在抽象类中编写主要方法,但是我们可以从中获得什么?抽象类中main方法的用法是什么?

public abstract class Sample 
{ 
     public static void main(String args[]) 
     {       

      System.out.println("Abstract Class main method : "); 

     } 
} 

我们不能创建抽象类的对象,那么抽象类中main方法的用法是什么?

+6

它是一个静态方法,因此belonds类不是一个实例 – DarthVader

+0

你的子类(ES)不需要实现的main()。他们可以像用主方法创建一样运行。 – TheLostMind

回答

3

您可以扩展抽象类,然后子类具有main方法,而不指定那个类。

15

抽象只意味着你不能直接实例化类。

加载类与创建类的实例不同。并且不需要创建类的实例来调用main(),因为它是静态的。所以没有问题。

抽象意味着你不能直接实例化类。如果你愿意,你可以有构造函数 - 它们可能需要子类来启动对象状态。你可以有静态方法,包括main(),并且它们不需要一个对象,所以调用它们就没有问题。

所以你只有在你尝试创建对象时遇到了错误,这是当你运行到抽象的限制。

0

由于Zeeshan已经说了,因为main方法是静态的,它不需要一个实例被调用。至于什么可以通过将主要方法放在抽象类中来实现,没有什么比将它放在任何其他类中。

通常,main方法要么放在它自己的类中,要么放在应用程序中心的类中。如果这个类恰好是抽象的,那就这样吧。

0
public abstract class Abstrc 
{ 
    Abstrc(){} // constructor 
    public abstract void run(); // abstract method 
    public static int mul(){return 3*2;} // static method 
    public static void main(String[] args) 
    { // Static method that can be accessed without instantiation 
     System.out.println("Your abstract no is : " + Abstrc.mul()); 
    } 
} 

你的抽象没有是:6

相关问题