无法将另一个类的静态方法调用到主类

时间:2018-02-18 04:18:48

标签: java

我创建了一个静态方法,它在类NewTriangle中返回一个静态int。但是,当我尝试从主要调用它时,它将无法打印。它要求在main中创建一个具有相同名称的方法。

public class NewTriangle{
    public static in numberOfTriangles;

    public static int getnumberOfTriangles(){
        return numberOfTriangles;
    }
}

代码一直运行到此为止。但是当我从主要调用getnumberOfTriangles()时,我得到一个错误。

public static void main(String args[]){
    System.out.println(getnumberOfTriangles());
}

4 个答案:

答案 0 :(得分:3)

如果您的main方法位于不同的类中,则需要在调用静态方法时指定类名,即NewTriangle.getnumberOfTriangles()

答案 1 :(得分:1)

假设代码中的拼写错误是复制和粘贴错误,您需要

  1. 在方法名称前使用类名,您可能需要将类添加到import语句中(如果它位于不同的包中,则需要)

    System.out.println(NewTriangle.getnumberOfTriangles());

  2. getnumberOfTriangles方法的static import添加到main

    import static NewTriangle.getnumberOfTriangles;

  3. 但是,请注意链接中提供的警告

      

    那么什么时候应该使用静态导入? 非常谨慎!

答案 2 :(得分:-1)

您必须在以下时间写下该课程的名称:

NewTriangle.getnumberOfTriangles()

答案 3 :(得分:-1)

您可以执行以下操作:

使用示例:

  1. 我创建了一个包名称stackoverflow
  2. 包stackoverflow中的两个类callerClass和NewTriangle。
  3. 在callerClass中导入类NewTriangle。
  4. 使用NewTriangle.getnumberOfTriangles()
  5. 的静态函数
      

    NewTriangle.getnumberOfTriangles()// className.StaticfunctionName()

    工作代码:

      

    第1课:

    package stackoverflow;
    
    public class NewTriangle {
        public static int numberOfTriangles;
    
        public static int getnumberOfTriangles() {
            return numberOfTriangles;
        }
    }
    
      

    第2课:

    package stackoverflow;
    
    import stackoverflow.NewTriangle;
    
    public class callerClass {
        public static void main(String args[]) {
            System.out.println(NewTriangle.getnumberOfTriangles());
        }
    }
    

    Java静态方法: 如果使用任何方法应用static关键字,则称为静态方法。

    1. 静态方法属于类而不是类的对象。
    2. 无需创建类的实例即可调用静态方法。
    3. 静态方法可以访问静态数据成员,并可以更改它的值。
    4.   

      我希望我能提供帮助:)