记一次同一个文件夹内跨java文件的类调用实验

【背景】已经学习到如果一个java文件中,类的名称前面如果没有权限控制,或者有public,则类在同一个包内是可以相互调用的。

【实验一】

新建一个文件夹test。在A.java中定义类:

class A
{
 public void say()
{
System.out.println("i am A");
}
}

在B.java中定义public类与main方法,并调用A类:

public class B
{
 public static void main(String [] args)
{
A oo = new A();
oo.say();
}
}

然后在test文件夹下,打开cmd,执行javac,java可以编译A、B,最终屏幕打印i am A

后来看到书上加了打包的程序,即在A与B文件开头加上了 package test;

然后,再在test文件夹下打开cmd,执行javac与java却在编译B的时候报找不到类A

后来想了想,打包之后,运行javac与java的地方必须体现这种打包路径,所以在test的上级目录,再次执行javac test/A.java

javac test/B.java

java B

最终得到了正确结果。

此外尝试在eclipse中,test路径下,使用package命令,指定其他包名,发现报错,这也证明了包名是不能乱取的。



  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值