【问题标题】:is there any way to use static-method without class?有没有办法在没有类的情况下使用静态方法?
【发布时间】:2015-11-12 11:31:48
【问题描述】:
package java;
//----------------------------- add one more line in here
class Demo {
    public static String prt(String name) {
        return "my name:" + name;
    }
}
public class Sample {
    public static void main(String[] args) {
        System.out.println(prt("hong"));
    }
}

如果有办法打印

我的名字:洪

,请告诉我。

【问题讨论】:

  • 可以,但仅限于同一类的范围内。如果您的 prt 方法是在 Sample 类中定义的,那么您可以直接调用它。
  • 是的,谢谢您的帮助。但我知道那样。但是我应该在“//-----------------------------在这里再添加一行”。
  • 我认为您在谈论静态导入docs.oracle.com/javase/1.5.0/docs/guide/language/…
  • 自己回答。导入静态 java.Demo.*;自我回答。

标签: java class methods static-methods


【解决方案1】:

您可以通过使用new Demo() 创建 Demo 类的实例来做到这一点,如下所示:

class Demo {
    public static String prt(String name) {
        return "my name:" + name;
    }
}
class Sample {
    public static void main(String[] args) {

        System.out.println(new Demo().prt("hong"));
    }
}

【讨论】:

    【解决方案2】:

    你应该可以通过类名来引用它:

    Demo.prt("Hong")
    

    但是,如果您不能使用 Demo 类,那么我不完全是现实生活中的情况。方法属于类,它们不单独存在。它们必须被类或类的实例引用。除非您为您的问题提供更多背景信息,否则答案是否定的。

    但是,如果你可以通过对象引用它,你可以这样做:

    Demo demo = new Demo();
    System.out.println(demo.prt("hong"));
    

    【讨论】:

    • 所以,OP 标题中问题的答案只是“否”。
    • 谢谢。但这是一种考验。我不能这样用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-28
    • 2016-01-10
    • 2016-01-19
    • 1970-01-01
    • 2019-11-02
    • 2012-07-25
    • 1970-01-01
    相关资源
    最近更新 更多