Java基础-package包机制
关于java语言当中的包机制:
1.包又称为package,java中引入package这种语法机制主要是为了方便程序的管理。不同功能的类被分门别类放到不同的软件包当中,查找比较方便,管理比较方便,易维护
2.怎么定义package?
在java源程序的第一行上编写package语句
package只能编写一个语句
语法结构:package 包名;
3.包名的命名规范:
公司域名倒序 + 项目名 + 模块名 + 功能名;
采用这种方式重名的几率比较低。因为公司域名具有全球唯一性。
例如:com.bjheima.oa.user.service;org.apache.tomcat.core;
4.包名要求全部小写,包名也是标识符,必须遵守标识符的命名规则
5.一个包对应一个目录
6.使用了package机制之后,应该怎么解释?怎么运行?
使用了package机制之后,类名不再是Test01了。类名是:com.bjheima.java.newstudy.Test01
编译:javac java源文件路径(在硬盘上生成一个class文件:Test01.class)
手动方式创建目录,将Test01.class字节码文件放到指定的目录下
运行:java com.bjheima.javase.newstudy.Test01
另一种方式编译(编译 + 运行):
编译:
javac -d 编译之后存放路径 java源文件的路径
例如:将F:\Hello.java文件编译之后放到C:\目录下
javac -d C:\ F:\Hello.javajavac -d . *.java
将当前路径中*.java编译之后存放到当前目录下
运行:JVM的类加载器ClassLoader默认从当前路径下加载。
保证Dos命令窗口的路径先切换到com所在的路径,执行:
java com.bjheima.javase.newstudy.Test01
7.import语法格式:
import 类名;import 包名.*import语句需要编写到package语句之下,class语句之上。
示例代码01:
package com.bjheima.newstudy.packagetest;public class Test01{public static void main(String[] args){System.out.println("Test01's main method excute!");}
}
示例代码02:
package com.bjheima.newstudy.packagetest;
public class Test02{public static void main(String[] args){//完整类名是: com.bjheima.newstudy.packagetest.Test01com.bjheima.newstudy.packagetest.Test01 t = new com.bjheima.newstudy.packagetest.Test01();System.out.println(t);//可以省略包名,因为Test01和Test02在同一个软件包当中Test01 tt = new Test01();System.out.println(tt);}
}
运行结果:
示例代码03:
package com.bjheima;public class Test03{public static void main(String[] args){/* 创建Test01对象以下代码编译器错误:当省略包名之后,会在当前包下找Test01实际上编译器去找:com.bjheima.Test03了。这个类不存在。Test01 tt = new Test01();System.out.println(tt); *///修改以上的错误//包名不要省略,添加包名com.bjheima.newstudy.packagetest.Test01 tt = new com.bjheima.newstudy.packagetest.Test01();System.out.println(tt);}
}
运行结果:
示例代码03:
package org.apache;//import语句用来完成导入其它类,同一个包下的类不需要导入,不在同一个包下需要手动导入。import com.bjheima.newstudy.packagetest.Test01;
public class Test04{public static void main(String[] args){com.bjheima.newstudy.packagetest.Test01 tt = new com.bjheima.newstudy.packagetest.Test01();System.out.println(tt);Test01 x = new Test01();System.out.println(x);Test01 y = new Test01();System.out.println(y);//java.lang.*;不需要手动导入,系统自动导入//lang:language语言包,是java语言的核心类,不需要手动导入String s = "abc";System.out.println(s);//直接编写以下代码编译错误,因为Date类没有找到Date d = new Date();java.util.Date d = new java.util.Date();//使用import语句之后:import java.util.Date;//Date d = new Date();}
}
运行结果:
Java基础-package包机制相关推荐
- 从0开始的Java基础,包你学会。
Java 第一个Java程序 程序的操作流程 1.先写出可执行的代码 2.在命令框之中使用javac "文件地址"运行后,生成一个class字节码文件 再在命令框中使用java & ...
- Java基础07 包
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经写了一些Java程序.之前的每个Java程序都被保存为一个文件,比如Tes ...
- Package包机制
一.Java包的概念和作用 "包"是是由一组类和接口所组成的具有一定功能的集合. 简单地说,将一组功能相关的类和接口打包起来形成的整体,就是包. 在java中每定义好一个类,通过j ...
- java基础之包_繁星漫天_新浪博客
java中的包是专门用来存放类的,通常功能相同的类存放在相同的包中.在声明时.使用package语句 包的声明只能位于源文件的第一行 例子: 1.编写HelloWorld类,在类名之前声明当前类所在的 ...
- 搞定Java基础:反射机制
反射机制是Java语言多态的体现,估计大家接触最早的代码可能是jdbc的一行代码吧. Class.forName("com.mysql.jdbc.Driver.class").ne ...
- Java基础:异常机制
最近开始了找工作的面试,在面试过程中,面试官问了关于Java当中的异常处理机制,一直以来,无论写代码还是看书,自己对异常处理这一块就没有很好的重视过,对它的认知也仅仅停留在通过Try-catch去进行 ...
- [Java基础] 垃圾回收机制
写在前面 本文简单介绍一下Java的垃圾回收机制相关概念. 活动地址:CSDN21天学习挑战赛 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩:迟一天就多一天平庸的困扰.各位小伙伴,如果您 ...
- java基础---动态代理机制
动态代理的意思是,有一个委托类有一个代理类,让代理类去实现委托类的方法,这样既可以对委托类的代码实现进行封装和隐藏,还能够在委托类的基础上添加额外的一些自定义处理. 两种代理方式 1.jdk原生的代理 ...
- java基础篇——包
包 一 引言 包是什么? 1.包是对类文件进行分类管理的文件夹: 2.包给类提供了多层命名空间: 二 使用javac建立相应的包 1.如果是在当前目录下创建 编译dos命令 javac -d ...
最新文章
- levelDB数据库使用及实例 - 高性能nosql存储数据库
- MySQL中的外键约束
- (转)TinyXML Tutorial 中文指南
- 小程序购物车抛物线(贝塞尔曲线实现)
- sap crm button_正值SAP中国成立25周年之际,江苏金来奇智能科技SAPB1项目正式启动...
- Angularjs+Nodejs图片上传
- 用 js判断 一个数是否是素数(质数)_小学五年级下册数学公式打印版,孩子寒假预习用的上!...
- c svchost 服务 dll_小机巧丨如何解决svchost一直占用网速和内存?
- 【Vue2.0】— 全局事件总线GlobalEventBus(十九)
- 脚本学习python和linux-shell和jQuery(javascript)
- linux与unix的区别_Linux与Unix
- larveral 直接拷贝安装_重新安装网卡驱动的电脑操作
- mysql本地连接1045_MySQL密码正确却无法本地登录-1045
- 如何构建一个可用的企业级API网关?
- 又一隧道地标,三思点亮万里黄河第一隧
- 关于origin2019的安装教程
- python实现文本编辑器_Python实现的文本编辑器功能示例
- character not supported here
- vue 路由跳转打开新窗口(被浏览器拦截)
- 黑苹果macOS机型对照表