java - 在java中不使用对象来调用同一类的函数的正确方法是什么?

标签 java function class object

如何在不使用对象的情况下调用java中同一类的函数?

我尝试了这个,但收到错误:

'non-static method facti(int) cannot be referenced from a static context' System.out.print(facti(number));

public class Facto {
    int i, fact =1;
     int facti(int num){
        if(num == 0){
            System.out.print("For Zero ");
            return 1;
        }
        else
        for (i = 1; i <= num; ++i)
        {
            fact = fact * i;
        }
        return fact;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a number for factorial : ");
        int number = sc.nextInt();
        Facto f1 = new Facto();
        System.out.println(f1.facti(number));
    }
}

最佳答案

简单的回答:你不能。 您的 main 方法是“静态”的,它只能调用其他静态方法(在同一类中)或对象的方法。所以你也可以使“facti”静态。或者创建一个对象:Facto f = new Facto(); f.facti(13);并对该对象调用facti。

关于java - 在java中不使用对象来调用同一类的函数的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57548697/

相关文章:

java - 绿色像素的颜色无效

java - 我的 logback syslog appender 有什么问题?

java - Java 相当于 Python 的 reduce 函数是什么?

javascript - 仅使用类的一部分声明变量

javascript - 如何让 getElementsByClassName 定位所有标记元素 - 有更好的选择吗?

css - 如何使用另一个 CSS 类覆盖 CSS 类的属性

java - 在 JDBC 中实现多线程

java - 冒泡、选择、插入和快速排序中的交换和比较次数

javascript - 函数作为参数没有在原型(prototype)中定义但仍然可以传入?

PHP,回调函数