当前位置: 首页 > 面试题库 >

主类中的每个方法都必须是静态的吗?

易刚捷
2023-03-14
问题内容

我对Java完全不了解,但是在今晚练习时,我发现使用OOP设计时,主类中的每个方法都必须是静态的,对吗?在这段代码中,我无法在不是静态的类中调用方法。

似乎我可能遗漏了为什么要声明一个类是否为静态的问题。谢谢你的帮助!

public class JavaApplication2 {

private static CreateCar Vroom;
private static Limo Fuuu;

public static void main(String[] args) {
     Vroom = new CreateCar();
     Vroom.creator();
     getGas();
     addGas();
     getGas();
     Fuuu = new Limo();
     Fuuu.creator();
     Fuuu.wheels = 5;
     Fuuu.wheelie();
}
 public static int getGas(){
     Vroom.returnGas();
     return 0;
 }
 public static void addGas(){
     Vroom.fillerUp();
 } 
}

问题答案:

您可以调用非静态方法,但是只能通过对象来调用。也就是说,您需要在给定对象上调用该方法。

您的主类也可以实例化,因此并非主类中的每个方法都必须是静态的。例如:

public class MainClass {
    int value;

    public void printValue() {
        System.out.println("" + value);
    }

    public static void main(String[] args){
        MainClass o = new MainClass();
        o.printValue();
    }
}


 类似资料:
  • 我是java的新手,但是在练习时,我突然想到,通过OOP设计,主类中的每个类都必须是静态的,对吧?在此代码中,我无法调用 main 中非静态的类(闪亮金属)。似乎我错过了为什么你会声明一个类是静态的。感谢您的帮助!

  • 我查阅了Java文档,了解到Java的< code>Arrays类中的方法都是静态的。我真的不明白他们为什么把它变成静态的背后的原因。 例如,下面的代码违反了 OO 方法,因为如果我有一个类型“X”,那么所有作用于它的方法都应该在它里面: 如果他们实现了以下方式,那就更好了: 任何人都可以解释一下我吗?

  • 问题内容: 我了解到,Java文件中唯一的公共类也必须具有main方法。但是,下面您可以看到内部类内部的main方法呢?关于源文件中主要方法定义的规则是什么? 问题答案: 如果要使用Java(Java启动器:java test.MyClass)启动类,则该类必须具有带有众所周知签名的main方法。 您可以在任意位置使用具有相同签名的main方法。但是不要期望启动器会找到它。 PS语言的名称是Jav

  • 开始使用JNI从C调用静态java方法。具体来说,在获得一个jclass(使用FindClass)和一个jmethodID(使用GetStaticMethodID)之后,我继续调用一系列CallStatic*MethodA例程。事实证明,所有这些例程都将jclass作为第一个参数。我开始想为什么需要类对象:因为所有信息都是在GetStaticMethodID中提供的,所以JVM似乎不需要类对象来完

  • 我正在使用带有静态编程语言的android持久性库。 Dao看起来像这样 这对我来说似乎很好,但我得到了这个错误 错误:查询中的每个绑定变量必须有一个匹配的方法参数。找不到:countryId的方法参数 我可以看到参数被命名为,那么可能是什么问题呢? 仅供参考:这是CountryDao_I生成的代码mpl.java 在这种方法中,我看到arg0在方法中的任何地方都没有使用。 编辑:这似乎在新插件中

  • 我有一个片段类,我想在我的活动的“main”类中调用一个方法。fragment类是静态的,所以这可能是导致问题的原因,尽管我必须使它保持静态。我希望能够在静态类中执行类似的操作: