基本Java:如何调用方法?

基本Java:如何调用方法?,java,Java,我正在尝试创建一个包含菜单的程序,它将执行用户选择的任何选项。我完成了这些方法并让它们进行编译,但我对如何调用这些类一无所知。以下是屏幕截图中的代码,以便于阅读: Geek类:(包含所有方法) 在Java(以及我所知道的任何其他语言)中,您只能调用方法/函数,而不能调用类(除非您计算)。所以你可以写: Geek geek = new Geek("Me"); int i = geek.sum(1, 2); System.out.println(String.valueOf(i)); 假设文件为G

我正在尝试创建一个包含菜单的程序,它将执行用户选择的任何选项。我完成了这些方法并让它们进行编译,但我对如何调用这些类一无所知。以下是屏幕截图中的代码,以便于阅读:

Geek类:(包含所有方法)

在Java(以及我所知道的任何其他语言)中,您只能调用方法/函数,而不能调用类(除非您计算
)。所以你可以写:

Geek geek = new Geek("Me");
int i = geek.sum(1, 2);
System.out.println(String.valueOf(i));
假设文件为Geek.java,则可以使用以下命令调用/运行该类:

javac Geek.java
java Geek
从命令行

请注意,只有当Geek.java包含main方法时,此操作才会成功。阅读它们。

在Java(以及我所知道的任何其他语言)中,您只能调用方法/函数,而不能调用类(除非您计算
)。所以你可以写:

Geek geek = new Geek("Me");
int i = geek.sum(1, 2);
System.out.println(String.valueOf(i));
假设文件为Geek.java,则可以使用以下命令调用/运行该类:

javac Geek.java
java Geek
从命令行


请注意,只有当Geek.java包含main方法时,此操作才会成功。阅读它们。

类不是被调用的,它们是创建对象的蓝图

您需要一个程序入口点,在这种情况下,在您的类中

public static void main(String[] args)
{
  Geek myGeekObject = new Geek("Your name");
}
然后可以对创建的对象调用这些方法

public static void main(String[] args)
{
  Geek myGeekObject = new Geek("Your name");
  String geekName = myGeekObject.getName();
}

类不被调用,它们是创建对象的蓝图

您需要一个程序入口点,在这种情况下,在您的类中

public static void main(String[] args)
{
  Geek myGeekObject = new Geek("Your name");
}
然后可以对创建的对象调用这些方法

public static void main(String[] args)
{
  Geek myGeekObject = new Geek("Your name");
  String geekName = myGeekObject.getName();
}

你不能像那样使用非静态类

想象一下,极客是极客的定义。你想创建几个极客,每个都是独立的实例

Geek g1 = new Geek("Andrew");
Geek g2 = new Geek("John");
这些行创建了两个
g1
g2
类型的
Geek
实例,其名称分别为
Andrew
John

然后按如下方式访问它们:

g1.repeat("myString", 10)

你不能像那样使用非静态类

想象一下,极客是极客的定义。你想创建几个极客,每个都是独立的实例

Geek g1 = new Geek("Andrew");
Geek g2 = new Geek("John");
这些行创建了两个
g1
g2
类型的
Geek
实例,其名称分别为
Andrew
John

然后按如下方式访问它们:

g1.repeat("myString", 10)

您需要创建对象的实例,然后才能使用它

例如:

Geek g = new Geek("Geek");
g.getName();

您需要创建对象的实例,然后才能使用它

例如:

Geek g = new Geek("Geek");
g.getName();

您需要实例化类的一个实例才能使用它

例如,在main方法中,您可能希望定义对象的实例,如下所示:

Geek myGeek = new Geek("user2943817");
您可以使用变量名访问对象上的所有实例方法,如下所示:

myGeek.getName();
我希望这有帮助

编辑:

至于您的新问题,只需在从用户获得值后调用该方法即可。像这样:

case "d":
    System.out.println("Enter the first number");
    int num1 = scan.nextInt();
    System.out.println("Enter the second number");
    int num2 = scan.nextInt();
    System.out.println("Enter the third number");
    int num3 = scan.nextInt();
    myGeek.sum(num1, num2, num3);
    break;

您需要实例化类的一个实例才能使用它

例如,在main方法中,您可能希望定义对象的实例,如下所示:

Geek myGeek = new Geek("user2943817");
您可以使用变量名访问对象上的所有实例方法,如下所示:

myGeek.getName();
我希望这有帮助

编辑:

至于您的新问题,只需在从用户获得值后调用该方法即可。像这样:

case "d":
    System.out.println("Enter the first number");
    int num1 = scan.nextInt();
    System.out.println("Enter the second number");
    int num2 = scan.nextInt();
    System.out.println("Enter the third number");
    int num3 = scan.nextInt();
    myGeek.sum(num1, num2, num3);
    break;

定义“调用类”。编译程序后运行程序时遇到问题?如果您还不知道术语,则提问时会出现问题:您不能“调用类”,只能调用在类中定义并与对象关联的方法(除非它们是静态的,否则它们与单个类关联)。你能用正确的java术语重新表述你的问题吗?你不调用类。Create main()-可以在同一个类中执行此操作。然后创建类的一个对象。然后使用obj.method()调用方法。对不起,意思是方法。定义“调用类”。编译程序后运行程序时遇到问题?如果您还不知道术语,则提问时会出现问题:您不能“调用类”,只能调用在类中定义并与对象关联的方法(除非它们是静态的,否则它们与单个类关联)。你能用正确的java术语重新表述你的问题吗?你不调用类。Create main()-可以在同一个类中执行此操作。然后创建类的一个对象。然后使用obj.method()调用方法。对不起,我的意思是说方法。谢谢您的帮助!你能检查一下我收到的新错误吗?谢谢你的帮助!你能检查一下我收到的新错误吗?谢谢你的帮助!你能检查一下我收到的新错误吗?@user2943817:当然,你能发布你试图运行的整个类吗?谢谢你的帮助!你能检查一下我收到的新错误吗?@user2943817:当然,你能发布你试图运行的整个类吗?谢谢你的帮助!你能检查一下我收到的新错误吗?谢谢你的帮助!你能检查一下我得到的新错误吗?