首页 > 学院 > 开发设计 > 正文

JavaSE复习日记 : java包机制

2019-11-15 01:16:05
字体:
来源:转载
供稿:网友
javaSE复习日记 : java包机制
    这里是第一个文件,命名为JavaSE_01.java,我在这个文件里面声明了一个m1()方法,通过包机制,我将在另外一个文件夹里访问这个文件里的东西,确切的说是访问这个文件生成的一个class文件;package com.jaovo.webTeah.db;/* *                          Java包机制 * *      也就是软件包机制,软件世界中的两大难题:命名和缓存; * *  在程序命名中取一个言简意赅的名字很难,有时候名字取出来发现这个名字已经存在,包括ip,域名,MAC地址冲突等,在计算机中都出现了命名冲突的问题,命名太长又不方便. *  而这个时候封装的思想,划分区域,域的概念,命名空间的概念,IP段的概念都分别解决了他们各自的名字冲突的问题. *  这个时候Java借用了域名的封装方式(做程序开发的,每个人都会有自己的域名),提出了软件包的概念; * *  1. Java软件包的目的:解决类的命名(也是文件的命名,因为类名和文件名相同) *      在类前面加一个命名空间(相当于给文件加一个文件夹) *  2. 解决方式: *      通常采用公司域名的倒序方式(这个是唯一的) *      比如大家熟知的网站,名字都是hPPT://www.jaovo.com....是吧 *      包机制的写法是: *          com.jaovo.webTeah.bd *          com.baidu.webTeah.bd *          com.baidu.webTeah.page *          ....... *      包机制的作用: *          命名空间,生成一个文件目录(比如你开文件夹1,里面是文件夹2,再打开就是文件夹3,以此类推形成一个目录形式) *      如果要调用包里的东西就需要这个文件目录,同过导包找到他,再调用他; *  3. 用法: *      在java源文件的第一行引用package语句定义包: *          如package com.jaovo.webTeah.db; *      他会自动生成一个文件目录,每个文件夹都是上述的用点隔开的名字,按照顺序生成; *      如果需要用里面的东西就需要导包,就需要import: *          如import com.jaovo.webTeah.db; *          就是调用db这个文件夹里的文件内容; *      还有一种写法就是: *          import com.jaovo.*; *          就是调用jaovo这个文件夹里的所有东西,也包括db吧; *  4. 文件目录的生成 *      还有最后一步,就是编译和运行; *      编译: javac -d ./ -encoding utf-8 JavaSE.java *      ./就是本文件夹里生成,JavaSE.java是我这个源文件的文件名 *      编译后就会生成一个文件目录,并且会把我这个源代码生成的class文件保存到文件目录中我指定的位置; *      运行: java com.jaovo.webTeah.db.JavaSE.class * *      编译和运行都是在CMD中是实现,如果用的是VIM编译的话,直接":sh"敲回车就会进入编译窗; * *      这里我会截屏展示一下效果: */public class JavaSE_01{        public static void main(String[] args){        System.out.PRintln( "java包机制" );        m1();        }        public static void m1 (){            int a = 10;            System.out.println( a );        }}

 这个文件编写完以后,通过CMD编译一个class文件到指定目录下(附图):

   红色圈出的位置是我在CMD上打的内容;

这里是自动生成的文件目录,以及文件目录下的class文件:

  同样是有红笔圈出来;

以下是第二个文件:

package com.jaovo.webTeah;/* *  这里我写了两个源代码,把上一个源文件的class文件编译到com.jaovo.webTeah.db这个文件夹下; *  这是第二个源代码,我把他的class文件编译到上个class文件的上一级,也就是在com.jaovo.webTeah文件夹下; *  然后我在JavaSE_02.java文件中调用JavaSE_01文件中的m1()方法; */import com.jaovo.webTeah.db.*;//这里导包,导入JavaSE_01生成的类文件;public class JavaSE_02{    public static void main(String[] args){        JavaSE_01 s = new JavaSE_01();//对JavaSE_01实例化对象;        s.m1();//调用JavaSE_01中的m1()方法(我这个文件里面是没有声明任何方法的)    }}

下面是JavaSE_02.java文件的编译:

class文件存放位置:

下面是我运行的JavaSE_02.java文件,以及输出的结果:

最后结果是10,是JavaSE_01.java文件中m1方法内的结果;


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表