繁体   English   中英

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

[英]Can't call a static method from another class to main class

我创建了一个静态方法,该方法在类NewTriangle中返回静态int。 但是,当我尝试从主要位置调用它时,它不会打印。 它要求在主体内部创建一个具有相同名称的方法。

public class NewTriangle{
    public static in numberOfTriangles;

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

该代码直到现在为止都可以使用。 但是,当我从主体调用getnumberOfTriangles()时,我得到一个错误。

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

如果您的主要方法在另一个类中,则需要在调用静态方法时指定类名,即NewTriangle.getnumberOfTriangles()

假设代码中的错别字是复制和粘贴错误,则您需要

  1. 在方法名称之前使用类名称,您可能需要将类添加到import语句中(如果在其他包中则需要)

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

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

    import static NewTriangle.getnumberOfTriangles;

但是,请注意链接中的注意事项

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

您必须在之前编写类的名称:

NewTriangle.getnumberOfTriangles()

您可以执行以下操作:

使用示例:

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

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. 静态方法可以访问静态数据成员并可以更改其值。

希望对您有所帮助:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM