前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【测开技能】Java系列(三十一)包

【测开技能】Java系列(三十一)包

作者头像
雷子
发布2022-12-29 19:39:09
2140
发布2022-12-29 19:39:09
举报

前一篇:

【测开技能】Java系列(三十)静态方法和静态字段

这一篇,我们开始去分享包


正文

在前面的写中,都是用类命名的文件,但是呢,经常会遇到这样的问题,我们可以把所有的文件按照不同放在不同的文件夹。其实在我们写代码的时候,已经有用到。

可以看到在最上面就有一个package,这就是一个包的定义。

在包里定义一个类

代码语言:javascript
复制
package org.example;
  public   class Manta {
        public  String birst;
        public  static int price;
        public String getBirst() {
            return birst;
        }
        public void setBirst(String birst) {
            this.birst = birst;
        }
    }

如何在在当前包使用呢

代码语言:javascript
复制
package org.example;
public class Test {

    public static void main(String[] args) {
        Manta manto=new Manta();
        manto.getBirst();
    }
}

可以直接用,如果是到其他包呢

代码语言:javascript
复制
package org.example.toos;
import org.example.Manta;
public class Main {
    public static void main(String[] args) {
        Manta ne=new Manta();
        ne.getBirst();
    }
}

可以感到,在同个包中,可以直接用,不同包 导入需要增加包名+类即可。

Java编译器最终编译出的.class文件只使用完整类名,因此,在代码中,当编译器遇到一个class名称时:

  • 如果是完整类名,就直接根据完整类名查找这个class;
  • 如果是简单类名,按下面的顺序依次查找:
    • 查找当前package是否存在这个class;
    • 查找import的包是否包含这个class;
    • 查找java.lang包是否包含这个class。

如果按照上面的规则还无法确定类名,则编译报错。

为了避免名字冲突,我们需要确定唯一的包名。推荐的做法是使用倒置的域名来确保唯一性。

比如域名是www.baidu.com

可以起com.baidu.www 等来命名,当然了下面的子包可以用不同的功能来划分。

比如 com.baidu.www 下面有新的包

com.baidu.www.tools

当然了这是通用的写法。也可以根据自己的习惯填写。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档