java - 简单的导入问题

标签 java syntax package

我正在尝试学习 java,但似乎遗漏了一些明显的东西。

在子目录 lab 中我有文件 Play.java

package lab;
import java.io.*;

public class Play {
    public static void playprint(Object obj) {
        System.out.println(obj);
    }
}

我的 CLASSPATH 以“.”开头

在父目录下我有一个程序

public class test {
    public static void main(String[] args) { 
       lab.Play.playprint("hello world");
   }
}

这运行良好。如果我将程序更改为

import lab.Play.*;

public class test {
    public static void main(String[] args) { 
        playprint("hello world");
    }
}

失败并报错,找不到符号方法 playprint

我错过了什么?

最佳答案

要导入方法,您必须使用import static。没有你只是试图在你的类“播放”中导入所有类(和接口(interface))。

import static lab.Play.*;

参见 the documentation on static imports了解详情。

关于java - 简单的导入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5134244/

相关文章:

java - 如何使用java从e​​token访问证书和私钥

java - Spring java.lang.NoSuchMethodError : org. springframework.web.accept.PathExtensionContentNegotiationStrategy.getMediaTypes()Ljava/util/Map;

syntax - cfif not...EQ 和 cfif...NEQ 的区别?

java - Java中 protected 和包私有(private)的访问修饰符之间的区别?

go - 如何使用自己的名称而不是github地址导入包

java - IntelliJ IDEA 看不到我的环境变量

java - org.hibernate.hql.ast.QuerySyntaxException : table not mapped

r - 在 R 中,负索引有什么作用?

javascript - javascript函数调用的语法差异?

Ubuntu 下载一个包及其所有依赖项而不安装它们