包的含义:

用来分门别类的管理各种不同类,类似于文件夹,建包有利于程序的管理和维护

语法格式:

package 公司域名倒写.技术名称
例:
package com.charcoalblog.testdemo

(原来package是建包的意思,那么导入包就要用import)

import 包名.类名
注意:

  1. 相同包下的类可以直接访问,不同包下的类必须导包,才可以使用!
  2. 如果一个类中要用两个不同的类,默认只能导入一个,另一个要用包名访问!

(我觉得package也可以理解成一个说明,说明这个类属于哪个包,但是在oj上交题的时候,需要删掉package,原因是Main类也不属于任何包,所以无需加,加了会编译错误)

如下实例说明了相同包与不同包之间类的调用规则,本实例的目录结构如下所示
微信图片_20220116115027.png

代码如下:

package com.boqianlv.d1_package;

import com.boqianlv.d1_package.demo1.Animal;
import com.boqianlv.d1_package.demo1.Cat;

public class Test {
    public static void main(String[] args) {
        //导包:相同包下的类可以直接访问
        Student s=new Student();


        //不同包下的类必须导包才可以使用
        Animal a  = new Animal();
        
        //使用默认导包的类,demo1下的cat
        //这里不能再import demo2下的cat了,否则会引起歧义
        Cat c1 = new Cat();
        c1.run();
        //指定使用demo2下的Cat类
        com.boqianlv.d1_package.demo2.Cat c2 = new com.boqianlv.d1_package.demo2.Cat();
        c2.run();

    }
}

注意:虽然demo1也属于com.boqianlv.d1_package包,但是由于路径不同,所以也是不同的包,仍然需要import导入

文章版权:备长炭

本文链接:https://charcoalblog.top/index.php/archives/18/

转载请注明文章原始出处 !

仅有一条评论

  1. DreamTuzki. DreamTuzki. [作者]
    回复

    %zzy

添加新评论

百度已收录
返回顶部