我在工作文件的同一个文件夹下有一个StdDraw.java,而picture()是StdDraw.java中的一个方法。
但是,我未能添加此行来导入该方法,建议
包StdDraw不存在
import StdDraw.picture我怎么能这么做?用包裹?设置路径?或者做任何修改?我来自蟒蛇,觉得有点奇怪。
发布于 2015-06-09 10:55:38
您不能导入非静态方法(只导入类和静态成员),也不必导入!
如果您的两个类都位于默认包中,那么您应该能够在没有任何导入语句的情况下执行以下操作:
myStdDrawObject.picture(); // if picture is non-static或
StdDraw.picture(); // if picture is static还要注意,您不能在默认包中的类上使用静态导入。
发布于 2015-06-09 10:59:18
如果您要导入同一个包中的类,那么我们不需要使用任何导入。
如果您希望将方法导入到类中,请使用如下所示。您不需要在导入时放置方法名称。
import packagename.StdDraw;导入类后,类的所有非静态方法都可用于导入的类。
什么时候应该使用静态导入?只有当您不想声明常量的本地副本或滥用继承(常量接口反模式)时,才使用它。换句话说,当您需要经常访问一个或两个类的静态成员时,请使用它。如果您过度使用静态导入功能,它可能会使您的程序不可读和不可维护,从而使用您导入的所有静态成员污染它的命名空间。您的代码的读者(包括您,在您编写代码几个月后)将不知道静态成员来自哪个类。从类中导入所有静态成员对可读性特别有害;如果只需要一个或两个成员,则单独导入它们。如果使用得当,静态导入可以通过删除类重复的样板来提高程序的可读性。 名字。
阅读有关静态导入的更多信息:
https://docs.oracle.com/javase/1.5.0/docs/guide/language/static-import.html
发布于 2015-06-09 11:08:41
即使不包括存在于同一文件夹中的类的导入,也可以创建该类的对象和调用方法以及静态方法。
您可以创建对象并调用非静态方法。
StdDraw drawObj = new StdDraw();
drawObj.picture(); // if picture is non-static method对于静态方法,只能使用类名调用它。
StdDraw.picture(); // if picture is static method.https://stackoverflow.com/questions/30730016
复制相似问题