java不能从一个包中的另一个包中使用公共方法

dw1jzc5e  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(328)

在同一个项目中,我有两个包,第一个包包含一个具有以下代码的类:

package com.ginger;

public class SimplePrint 
{   

    public SimplePrint(){}

    public static void print(Object obj)
    {
        System.out.println(obj);
    }   
}

我想用这个方法 print() 在另一个包的另一个类中,但在同一个项目中。

import com.ginger.*;

public class MainClass 
{

    public static void main(String[] args)
    {
        print("Some");
    }
}

但是编译器告诉我 print() 对于第二类未定义。
同时,我能够创建对象 SimplePrint s = new SimplePrint() 在第二节课。
我是编程新手,如果我问的是简单的问题,请原谅。

qrjkbowd

qrjkbowd1#

方法的static关键字意味着它是类级别的。
如果像static这样的关键字不用于方法,则表示示例级别,所以创建示例然后访问它。

44u64gxh

44u64gxh2#

有几种方法可以做到这一点:

非静态

拆下 static 方法的关键字 print 并创建类的示例

SimplePrint simplePrint = new SimplePrint();

就这么做吧

simplePrint.print("");

或将以上内容合并为一行:

new SimplePrint().print("");

静态

你留着钥匙 print 方法 static 就这么做吧

SimplePrint.print("");

相关问题