/*
    关于java语言当中的包机制
    
        1、包又称为package,java中引入package这种语法机制主要是为了方便程序的管理
        不同功能的类被分门别类放到不同的软件包当中,查找比较方便,管理比较方便,易维护。
        
        2、怎么定义 package呢?
            - 在java源程序的第一行上编写package语句。
            - package只能编写一个语句。
            - 语法结构:
                package 包名;
                
        3、包名的命名规范:
        
            公司域名倒序 + 项目名 + 模块名 + 功能名;
        
            采用这种方式重名的几率较低。因为公司域名具有全球唯一性。
        
            例如:
            com.bjpowernode.oa.user.service;
            org.apache.tomcat.core;

        4、包名要求全部小写,包名也是标识符,必须遵守标识符的命名规则。

        5、一个包将来对应的是一个目录

        6、使用了 package机制之后,应该怎么编译?怎么运行呢?

            - 使用了package机制之后,类名不再是Test01了,类名是:com.bjpowernode.javase.day11.Test01
            
            - 编译:javac java源文件略径(在硬盘上生成一个c1ass文件:Test01.c1ass)
            
            - 手动方式创建目录,将Test01.c1ass字节码文件放到指定的目录下
            
            - 运行:java com.bjpowernode.javase.day1l.Test0l
*/
package com.bjpowernode.javase.day11; //4个目录【目录之间使用.隔开】

public class Test01
{
    public static void mian(String[] args){
        System.out.println("Test01's main method execute!");
    }
}
package com.bjpowernode.javase.day11

public class Test02
{
    public static void main(String[] args){
        
        //完整类名是:com.bjpowernode.javase.day11.Test01
        com.bjpowernode.javase.day11.Test01 t = new com.bjpowernode.javase.day11.Test01();
        System.out.peintln(t);

        //可以省略包名,因为Test01和Test02在同一个软件包当中。
        Test01 tt = new Test01();
        System.out.peintln(tt);

        //结论:只有在同一个包下的时候不需要加包名。
    }
}
package org.apache;

/*
    import语句用来完成导入其它类,同一个包下的类不需要导入,
    不在同一个包下需要手动导入。

    import语法格式:
        import 类名;
        import 包名.*;

    import语句需要编写到package语句之下,class语句之上。

    myeclipse导入类的快捷键:ctrl + shift + o
*/

//import com.bjpowernode.javase.day11.Test01
import com.bjpowernode.javase.day11.* // * 所有


public class Test04
{
    public static void main(String[] args){
        
        com.bjpowernode.javase.day11.Test01 tt = new com.bjpowernode.javase.day11.Test01();
        System.out.peintln(tt);
        //以上程序就是麻烦

        //下面有import,好用
        Test01 x = new Test01();
        System.out.peintln(x);
    }
}

/*
    最终结论
        什么时候需要import?
            * 不是java.lang包下,并且不在同一个包下的时候,需要使用import进行引入。
*/

 

posted @ 2020-08-11 19:53  Lerresino  阅读(106)  评论(0)    收藏  举报