是的,因为你已经有了Person了啊。
那怎么办?
我问你,你在电脑上两个相同的文件放在一起是不是也是会提示是否要覆盖?那你如果不覆盖,只能改名字了。还有个方法,就是放在不同文件夹中,是不是?
那java项目中也是可以分不同文件夹的。只不过java中类的文件夹不叫文件夹,叫“包名”
英文单词:package,那package还有个意思就是打包的意思,所以你可以理解为这个文件加,就是打了一个包裹,就跟快递包裹似的,你买了好多东西,不同商家是不同的包裹,每个包裹放的东西是不同类别的。
java中也是这个意思,包中放的基本上都是同一类的东西。比如放汽车类,有Car,有Bus,有MiniBus,有Taxi是不是
好了,说这么多,其实就是一个文件夹而已!记住在Java中叫做包。
那说说这个包怎么建?
首先命名规范:
1、不同路径通过点(.)来分割,比如下图的这个目录/cn/craaaaazy,包名的话就是cn.craaaaazy了
2、由字母、数字下划线组成,不能以数字开头
3、全部小写
4、一般使用域名反写来命名包,为了保证包名唯一性,一般是用域名反写来做包名的,比如下图:
这个就是域名反写起的包名,其实是两个文件夹,一个是cn,另外一个文件加是craaaaazy,那你去这个项目目录看,其实是两个文件夹。
注意:
一般路径会这么些E:\lib\cglib 或者这么写/root/bin
但是java这个编码工具中,是通过英文的点(.)来作为路径分隔符的比如上边两个路径如果做为java的包的话,在开发工具中会显示成lib.cglb或者root.bin
在编辑工具中有个办法把文件夹都展开,看我操作:点击这个设置按钮,把第二个选项的这个对钩去掉:
那看下边这个是不是已经展开了
这样你也可以在cn中创建类文件了。
那说了这么半天,怎么用呢?
相信大家都会建类了。我还是说下吧。想要把类建在哪个包中,就直接在包名上右键,然后一顿选,选New,选Java Class,后边的操作我还用说吗?就是填入类名,就确定就行了。看下图
看我一通操作,建了这么多类,当然,文章开头的例子,我是在一个我已经建好的包中写的。
那上图右边代码部分,看看注释说明。
首先代码是Person类,这个类在cn.craaaaazy这个包中。
1、package关键字:
首先第一行要写上package 你这个类的包名,当然这个编辑器很强大,自动就给创建好了。
记住这个其实是目录,但是java是通过点(.)来做分割的这是JVM编译器决定的。
例如:package cn.craaaaazy; // 注意这最后是有分号的。
2、导入类
什么是导入?