Java can';不要从一个包中使用另一个包中的公共方法
在同一个项目中,我有两个包,第一个包包含一个具有以下代码的类:Java can';不要从一个包中使用另一个包中的公共方法,java,package,static-methods,public-method,Java,Package,Static Methods,Public Method,在同一个项目中,我有两个包,第一个包包含一个具有以下代码的类: package com.ginger; public class SimplePrint { public SimplePrint(){} public static void print(Object obj) { System.out.println(obj); } } 我想在另一个包的另一个类中使用方法print(),但在同一个项目中 import com.
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=newsimpleprint()
我是编程新手,如果我想问一些简单的问题,请原谅。有几种方法可以做到这一点: 非静态 删除方法
print
的static
关键字并创建类的实例
SimplePrint simplePrint = new SimplePrint();
就这么做吧
simplePrint.print("");
SimplePrint.print("");
或将上述内容合并为一行:
new SimplePrint().print("");
静止的
保持print
方法static
,然后执行此操作
simplePrint.print("");
SimplePrint.print("");
方法的static关键字意味着它是类级别的
如果像static这样的关键字不用于方法,则表示实例级别,所以请创建实例,然后访问它。是否将第一个包导入到类中<代码>导入您的PackageName.theclassinpackagename代码>或
导入您的PackageName.*代码>。伙计!你真的需要学习java。首先,打印方法不需要使用static。如果需要访问SimplePrint类的任何方法,则需要创建该类的对象,以便可以访问该类的实例变量和方法。这里是SimplePrint SimplePrint1=新SimplePrint();SimplePrint.print();非常感谢。它起作用了。我刚刚误解了静态的工作原理。请注意,您也可以使用,例如,import static com.ginger.SimplePrint.print代码>。这样原始的打印(“一些”)代码>语句也会起作用。EricBouwers-现在我明白了!!!哦,谢谢你!这是我的错误,我忘记了导入静态。这正是我想要做的。如果SimplePrint.print(“”)
仍然不起作用,请确保在方法范围内执行此操作。希望这能为其他人节省时间。