四时宝库

程序员的知识宝库

第19天|Java入门有野,包有何用?(第19天|java入门有野,包有何用?怎么解决)

为了更好地组织类,Java(其他编程语言也有)提供了包机制,用于区别类名的命名空间,意思就是说类名可以相同,但要用包名区分。

包(package),像文件夹一样,也采用了树形目录的存储方式。同一个包中的类名是不可以相同的,不同包中的类名是可以相同的。调用两个不同包中相同类名的类时,记得加上包名用于区别。也就是说,包可以起到避免名字冲突的作用。

19.1 创建包

几乎所有开发工具都支持通过右键新建包名package。一般操作步骤是右键src-【New】-【Package】,包名之间用.分割。可以一次性直接输入lao.chen这样的两成包名。包名成为类名的一部分,必须与相应的字节码所在的目录结构相吻合。

package lao.chen;

public class Boy {
    public int age = 28;
    public boolean marry = false;

    public String getDesc() {
        return "没人喜欢,不是这个世界的错,谁叫你长得不好看又穷。";
    }
}

19.2 引用包类

在另一个类里,引用这个包里的类,用import关键字。如果用*号结尾,表示引入包里的所有类,虽然可以这样用,但不建议你这样,一次性引入好多类,但用到却没有几个,太浪费资源了,你要学会做到用什么类就引入什么类,像lao.chen.Boy这种。

/**
 * 老陈说编程
 * 包的讲解
 */

import lao.chen.Boy;

import java.util.*;

//类名:单身狗SingleDog
public class SingleDog {

    public static void main(String[] args) {
        //声明一个对象
        Boy boy = new Boy();
        //没结婚的原因
        if (!boy.marry) {
            System.out.println(boy.getDesc());
        }
    }
}

输出结果

没人喜欢,不是这个世界的错,谁叫你长得不好看又穷。

如果在一个包中,一个类想要使用本包中的另一个类,那么该包名可以省略,就是同一个包里的类之间的引用,可以不用import,直接用就好了。将SingleDog这个类移到和Boy同一个包下,就可以直接调用Boy这个类了。

package lao.chen;

/**
 * 老陈说编程
 * 包的讲解
 */

//类名:单身狗SingleDog
public class SingleDog {

    public static void main(String[] args) {
        //声明一个对象
        Boy boy = new Boy();
        //没结婚的原因
        if (!boy.marry) {
            System.out.println(boy.getDesc());
        }
    }
}

输出结果

没人喜欢,不是这个世界的错,谁叫你长得不好看又穷。

好了,有关Java包的内容就这么多了,如果你觉得老陈这样讲还可以的话,你就转发和点赞,你的轻轻一点,就是对老陈继续创作的最大鼓励和支持。

一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,可关注今日头条:老陈说编程。我在分享Python,前端、Java和App方面的干货。关注我,没错的。

#Java##APP##程序员##Web##Spring#

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接