如何正确调用方法

时间:2016-03-13 15:42:23

标签: java string class methods static

我之前发布了这样的问题,但我得到了否定回复,因为我没有展示我的尝试。所以我再次发布这个包括我的尝试,我仍然不知道Java中的方法是如何工作的。 这是我的尝试:

import java.util.Scanner;

public class MethodTest {

    public static exception(String name) {

        if (name == Abudi) {
            System.out.println("Your " + name + " is not allowed to proceed");
        }
    }

    public static void main(String args[]) {

        Scanner sc = new Scanner(System.in);
        exception pc = new exception();
        String name;
        System.out.print("Enter your name here: "); name = sc.nextLine();

        pc.exception(name);
    }
}

如何正确调用exception方法? 感谢。

4 个答案:

答案 0 :(得分:2)

使用类名,因为static方法对于该类的所有实例都是通用的。

MethodTest.exeption(name);

或者万一你的方法属于一个被调用的类。

exeption(name);

实际上缺少退货声明。如果您没有退货,请使用void

public static void exception(String name) {
    ...
}

删除以下行exception pc = new exception();。它没有任何意义,因为根本没有构建方法。

通常,调用static方法并不需要在创建实例之前调用类的构造函数。 static方法未在实例上修复。

最后,main方法的正文如下所示:

Scanner sc = new Scanner(System.in);
System.out.print("Enter your name here: "); 
String name = sc.nextLine();
exception(name);

答案 1 :(得分:2)

首先,您正在调用exception"方法"作为构造函数。您可以阅读有关构造函数here的更多信息。

要使exception方法有效,首先需要通过将返回类型设置为void来正确定义它。这意味着该方法不会返回任何内容。

public static void exception(String name) {
    if (name == "Abudi") {
        System.out.println("Your " + name + " is not allowed to proceed.");
    }
}

然后,要调用此方法,请使用:

MethodTest.exception(name); /* If you are calling it from another class */

或只是:

exception(name); /* If you are calling this static method from its own class */

答案 2 :(得分:2)

您可以查看此计划。它只需输入一次并关闭。但是你将能够理解该方法的工作原理。

import java.util.Scanner;

public class ExceptionTest {

    public static void exception(String name) {

        if (name.equals("Abudi")) {
            System.out.println("Your " + name + " is not allowed to proceed");
        }
    }

    public static void main(String args[]) {

        Scanner sc = new Scanner(System.in);

        //exception1(sc.next());
        String name;
        System.out.print("Enter your name here: "); 
        name = sc.nextLine();

        exception(name);
        sc.close();
    }
}

答案 3 :(得分:1)

如果要在MethodTest类之外调用方法,则需要执行以下操作:

MethodTest methodtest = new MethodTest();

methodtest.exception(name);

或者如果你想在MethodTest类中调用方法,你需要做:

exception(name);

您只需在方法exception(String name)中调用方法main(String[] args)

public static void main(String args[]) {

    Scanner sc = new Scanner(System.in);
    String name;
    System.out.print("Enter your name here: ");
    name = sc.nextLine();

    exception(name);

}