从头学习~问一下同一个包里类为什么不能互相使用

jy00756578 2017-03-19 10:41:03
其实很简单,但是找不到原因,同一个包下面的文件。一个是
package one;

public class print {
public static void print(Object obj)
{
System.out.println(obj);
}
}
另一个是
package one;

public class PrintTest {
public static void main(String[] args){
print("Available from now on");

}
}
死活显示print没有定义~我勒个去!到底问题在哪呢?


还有,在第一个类里还有一段,书上是
public static PrintStream
printf(String format,Object... args){
return System.out.printf(format,args);
}
这段里的PrintStream一直提示无法定义 何解?
...全文
268 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangjie916 2017-03-20
  • 打赏
  • 举报
回复
引用 4 楼 jy00756578 的回复:
好的,谢谢楼上三位,那么重点问题是,如何做到将print自定义为一个工具,也就是说,我不重复调用print.print,而是只调用print就可以实现功能
这个据我说知有两种方法: 1、在同一类中调用这个方法; 2、在其他类中使用可以在之前静态导入import static one.print.*;
jy00756578 2017-03-20
  • 打赏
  • 举报
回复
好的,谢谢楼上三位,那么重点问题是,如何做到将print自定义为一个工具,也就是说,我不重复调用print.print,而是只调用print就可以实现功能
wangjie916 2017-03-19
  • 打赏
  • 举报
回复
首先,第一个问题,楼上正解,讲调用的那里原先的print("Available from now on"); 改成 print.print("Available from now on"); 即可。 其次,第二个问题 public static PrintStream printf(String format,Object... args) { return System.out.printf(format,args); } 中的第一个PrintStream是返回值类型,你的提示已经告诉你原因了。这里你应该是没有导入支持类导致的,你可以在创建你这个方法的类前面加入这条: import java.io.PrintStream; 就可以了。
我爱娃哈哈 2017-03-19
  • 打赏
  • 举报
回复
第一个类定义了静态的方法,调用的话是需要类名.方法名调用的
MikeDDT009 2017-03-19
  • 打赏
  • 举报
回复
能直接看看完整代码么,表示同样刚看到类,不过看你这个感觉怪怪的就是了 第一段创建了个print的类,并且定义了个类方法,类方法引用按我自己理解你调用的话应该是print.print(参数) 等等,我看到一个蛋疼的地方,你第一段代码类名首写字母是小写,换成大写看看

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧