当前位置: 首页 > 知识库问答 >
问题:

如何在main中调用空方法?[重复]

盖和洽
2023-03-14
public void AmPm(int time) {
 if (time >= 12 && time < 12)
   System.out.println("AM");
 else if (time >= 12 && time < 24)
   System.out.println("PM");
 else
   System.out.println("invalid input");}

如何在main方法中调用此方法

共有3个答案

云瑞
2023-03-14

您的方法不是静态的,因此您应该从此方法所属的类创建对象。这个想法是:静态方法是在类级别,所以你不能从静态方法调用非静态方法。

常海
2023-03-14

您需要创建类< code>A的对象的实例,因为此方法不是静态的。然后,您可以对该引用调用该方法:

public static void main(String[] args) {
    A a = new A();
    a.amPm(time); /* instead of typing "time" you need to pass int value that you want to be passed to the method as an argument */
}    
何禄
2023-03-14

Main 方法是静态的,从静态方法中,您只能调用静态方法。您可以做的是:

class A {
    public void amPm(int time) {
       if (time >= 0 && time < 12) //you have a typo there
           System.out.println("AM");
       else if (time >= 12 && time <24)
           System.out.println("PM");
       else
           System.out.println("invalid input");
    }
    //or as static method:
    public static void amPmInStaticWay(int time) { //... }

    public static void main(String[] args) {
        //...
        A a = new A();
        a.amPm(time);
        //or
        amPmInStaticWay(time);
        //or if you want to use static method from different class
        A.amPmInStaticWay(time);
    }
}
 类似资料:
  • 问题内容: 当使用反射从另一个主要方法调用Java类的主要方法时, 我应该创建newInstance()还是直接调用main(),因为它是静态的。 问题答案: 对于您陈述的要求(动态地调用随机类的main方法,通过反射,您有很多不必要的代码。 您不需要为该类调用构造函数 您不需要内省类字段 由于您正在调用静态方法,因此甚至不需要真正的对象来调用该方法。 您可以修改以下代码来满足您的需求:

  • 我在这个上面有点卡住了。我正在编写一个包含两个类的java程序,然后是一个测试程序来测试类中的方法。我被困在主方法中调用下面的两个方法上。所有的类文件(测试程序类和另外两个类)都在编译,IDE没有给我任何错误消息,计算只是没有发生…… --主要方法代码: -账户类别代码: 注意:平衡设置器正在工作,因为它在测试程序的前面被调用... 非常感谢任何帮助!!! 账户类别的完整代码: 主要方法完整代码:

  • 在下面的程序中,我将一个字符串值作为参数传递给方法print(string),该方法是静态的,返回string。虽然我没有得到错误,但我没有得到输出。

  • 我正在实现插入排序方法。这是我的代码要求。 方法insertionSort是一个不返回任何内容的静态方法 它有两个参数:通用数组和比较器(通用) 它使用合并排序算法对泛型数组进行排序 我的问题是:调用main方法时,比较器参数c使用什么? 到目前为止,我有一些未实现的方法(merge sort an isAnagaram)忽略这些 我环顾了一下堆栈溢出,并在比较器界面上搜索了很多,但我真的找不到任

  • 问题内容: 尝试在Parent类中创建1个接口和2个具体类。这将使封闭类成为内部类。 现在,我真的不确定如何在静态main()方法中创建C类的对象并调用C类的call()方法。现在我遇到了问题: 问题答案: 这里的内部类不是静态的,因此您需要创建一个外部类的实例,然后调用new, 但是在这种情况下,您可以将内部类设为静态, 那就可以使用了

  • 问题内容: 注意:这旨在作为常见问题的规范答案。 我有一个带有字段()的Spring 类(),但是该字段是我尝试使用它时所用的。日志显示同时创建了bean和bean,但是每当尝试在服务bean上调用方法时,我都会得到一个。Spring为什么不自动接线该领域? 控制器类: 服务等级: 应该自动连接的服务bean,但不是: 当我尝试时,出现以下异常: 问题答案: 带注释的字段是因为Spring不知道您