这里是第一个文件,命名为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 = ;
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方法内的结果;

JavaSE复习日记 : java包机制的更多相关文章

  1. JavaSE复习日记 : Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符

    // Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符 /* * 一 Java操作符 * * Java操作符都有哪些? * +, -, *, /, %, ++, -- * ...

  2. Java包机制和Javadoc的使用

    1.什么是包机制? 包(package)其实本质上就是一个文件夹,使用包是为了让相同类名的两个类可以使用,也就是操作系统中的文件夹,用来解决重名并且让相同的功能类放在同一个包,使开发更加有条理. 注意 ...

  3. Java包机制和JavaDoc

    目录 包机制 JavaDoc 视频课程 包机制 包的本质就是文件夹 为了更好的组织类, Java提供了包机制, 用于区别类名的命名空间, 使项目看起来更加整洁 一般公司庸域名倒置作为包名 为了能够使用 ...

  4. JavaSE复习日记 : 算是个小前言吧

    /* * Java也学了好久了,抽个时间整理了一下课堂笔记,也有些是我刚开始学会犯的一些错误.在这里浅谈一下JavaSE的基础内容,对我来说也是一种不错的复习方式. * * 那好,对于初学者来说,学习 ...

  5. JavaSE复习_1 Java的基本格式和运算符

    △.代表在当前目录.classpath能在任何路径下访问类文件. △单行注释可以嵌套,多行注释不能嵌套 △java中的标识符只能有数字,字母,$和_,其他的符号都是错误的,不合法的.其中数字不能是开头 ...

  6. JavaSE复习日记 : 方法的调用和方法的重载

    /* * 方法的调用和方法重载 */ /* * 什么是方法? * 方法就是一个有名字的代码段; * 方法的调用: * 在方法里调用另外一个方法里面的东西就是方法调用; * 或者可以认为"另外 ...

  7. JavaSE复习日记 : 继承关系和super关键字以及继承关系中方法的覆写

    /* * 类的继承和super关键字 * * 软件开发的三大目的: * 可拓展性; * 可维护性; * 可重用性; * * 这里单说下可重用性这一项: * 为了代码复用,复用方式有: * 函数的调用复 ...

  8. JavaSE复习日记 : 循环语句(for/while/do while)

    /* * 循环语句(for循环,while和do while循环) */ /* * for循环语句 * * for循环语法: * for (表达式1;表达式2;表达式3 ){ * java语句 * } ...

  9. JavaSE复习日记 : 条件判断语句

    /* 条件控制语句:if(){}else{} 语法: 第一种结构:有不执行的情况 if(boolean表达式){ //第一位真,就执行里面的语句,为假就不执行 java语句; } 第二种结构: if( ...

随机推荐

  1. kobox: key_proc.c -v1 怎样使用proc文件系统调试驱动

    使用proc文件系统能够非常方便调试驱动.查看驱动中的一些数据 平台:TQ2440 系统版本号: root@ubuntu:/mnt/shared/kobox# uname -a Linux ubunt ...

  2. 怎样在小方框上打对号 小方框内打对勾 word 方框打对勾

    在word中做选择时,非常多人遇到须要在小方框上打对勾而不知怎样做,现将可行的各种方法总结例如以下: 1:直接找到一个做好的,保存为图片,在须要的时候插入它: 2:插入文本框,然后边框选择为实线,在文 ...

  3. Girl_iOS100天学iOS的第一天(规划)

    不好的开端. 只是还好,总算是開始. 今天一直在做项目中的某个模块,发现自己尽管工作了一段时间,但编码速度还是够慢的 >.< 探究其为什么慢的原因,还是由于自己对某些控件等基础的不熟悉,如 ...

  4. HNU 12850 Garage

    长为H的格子里面放n个长为h的格子 最多会有n+1个空隙 要使每一个空隙长度都小于h (H-h*n)/(n+1)<h n>(H/h-1)/2 #include<bits/stdc++ ...

  5. java 解析json的问题

    本文转载自http://chriszz.sinaapp.com/?p=392 Json就是Javascript notation,可以替代XML,用做数据交互. Json的两种基本表示形式,可以用自动 ...

  6. 批处理就是windows的杰作啊

    今天要为了解决vs不能同时开启调试和编写的问题,我就上网查找了一些批处理的命令,用批处理调用exe,和打开txt,虽然一行代码就解决了但是我没用过啊,很陌生. call  路径\a.exe  就相当于 ...

  7. ASP.NET对路径"xxxxx"的访问被拒绝的解决方法小结

    异常详细信息: System.UnauthorizedAccessException: 对路径“D:/temp1/MyTest.txt”的访问被拒绝     在windows 2003下,在运行web ...

  8. PHP自学3——在html的<table>标签中显示用户提交表单

    为了更好地显示用户提交表单,本节将在上一节的基础上将读取的用户表单显示在html的<table>标签中,这一节将用到和数组有关的知识. 本节代码将从外部文件(.txt文件)中读取信息于指定 ...

  9. 简述Linq中.ToList(), .AsEnumerable(), AsQueryable()的区别和用法

    [TOC] 这3个方法的功能完全不同, 应按照具体业务场景使用. AsQueryable() 先说说什么是 IQueryable IQueryable 是当前的 data provider 返回的类型 ...

  10. centos防火墙端口配置

    增加防火墙配置,允许8080端口: # vi /etc/sysconfig/iptables 在允许ssh的下面增加一条: -A INPUT -m state --state NEW -m tcp - ...