关于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.java
javac -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.Test01
com.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();
}
}
运行结果:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/94323.html