Java包:(package)
1.对类文件进行分类管理。
2.给类提供多层命名空间。
3.在程序文件的第一行
4.类名的全称是 包名.类名
5.包也是一种封装形式。
如何定义一个包?
package pack
class PackageDemo{}
通过package关键字定义,包名规范,所有字母都小写
但是每次编译后的类都需要手动建立一个包名的文件夹
javac -d . PackageDemo.java
-d的意思是放在哪个目录下,点的意思是当前目录
有了包以后,在编译时,可以指定任意目录,那么就可以完成java
的源文件和运行文件存储的分离。
Set classpath=包所在的目录
然后在当前的目录下运行了
容易出现的问题:
1.类名写错,因为当一个类有了包,那么调用这个类的时候,必须
使用包名店类名
2.找不到软件包,在编译时,会在当前目录下查找该软件包,但是
当前目录没有,而是在其他目录下
解决方法:指定classpath,告诉编译器应该到那去找软件包
set classpath=........
3.提示类在软件包中权限够,包以外的程序访问不到。
解决方法:将类的权限提升为public,所以当有包的时候,
如果类不设为public,就相当于被隐藏了。
4.类公有之后,包以外可以访问了,但是类中的成员没有公有,
所以权限不够,也访问不到
解决方法:将成员设为public
结论:包与包之间进行访问,被访问的包中的类必须公有,被访问的包中的方法也必须公有
(如果用到构造函数,把构造函数也设为公有)
Public protected default private
同一类中
同一包中
同一
调用其他包中的类必须定义全名称,书写很麻烦,阅读也很差。
所以为了简化这个动作,使用一个新的关键字 import
import 简化类名书写,使用方式 import 包.类;将要使用的类先导入进来,在使用时,
可以直接使用类名而不写包名。
import其实导入的都是包中的类。
如果想要导入一个包中的所有类,那么可以import package.*;
实际开发时,建议用到包中的哪个类,就导入哪个类,尽量不要定义.*的方式。
import导入的是当前包中的类,不能够导入包中的包。
Jar包:
jar -cf haha.jar mypackagr
-c的意思是生成jar文件,-f是后面起的什么名字
名字叫haha.jar
使用jar包的时候只要设置classpath指向haha.jar就行了
set classpath=..../haha.jar
这时候就可以使用jar里面的所有类了
1.对类文件进行分类管理。
2.给类提供多层命名空间。
3.在程序文件的第一行
4.类名的全称是 包名.类名
5.包也是一种封装形式。
如何定义一个包?
package pack
class PackageDemo{}
通过package关键字定义,包名规范,所有字母都小写
但是每次编译后的类都需要手动建立一个包名的文件夹
javac -d . PackageDemo.java
-d的意思是放在哪个目录下,点的意思是当前目录
有了包以后,在编译时,可以指定任意目录,那么就可以完成java
的源文件和运行文件存储的分离。
Set classpath=包所在的目录
然后在当前的目录下运行了
容易出现的问题:
1.类名写错,因为当一个类有了包,那么调用这个类的时候,必须
使用包名店类名
2.找不到软件包,在编译时,会在当前目录下查找该软件包,但是
当前目录没有,而是在其他目录下
解决方法:指定classpath,告诉编译器应该到那去找软件包
set classpath=........
3.提示类在软件包中权限够,包以外的程序访问不到。
解决方法:将类的权限提升为public,所以当有包的时候,
如果类不设为public,就相当于被隐藏了。
4.类公有之后,包以外可以访问了,但是类中的成员没有公有,
所以权限不够,也访问不到
解决方法:将成员设为public
结论:包与包之间进行访问,被访问的包中的类必须公有,被访问的包中的方法也必须公有
(如果用到构造函数,把构造函数也设为公有)
Public protected default private
同一类中
同一包中
同一
调用其他包中的类必须定义全名称,书写很麻烦,阅读也很差。
所以为了简化这个动作,使用一个新的关键字 import
import 简化类名书写,使用方式 import 包.类;将要使用的类先导入进来,在使用时,
可以直接使用类名而不写包名。
import其实导入的都是包中的类。
如果想要导入一个包中的所有类,那么可以import package.*;
实际开发时,建议用到包中的哪个类,就导入哪个类,尽量不要定义.*的方式。
import导入的是当前包中的类,不能够导入包中的包。
Jar包:
jar -cf haha.jar mypackagr
-c的意思是生成jar文件,-f是后面起的什么名字
名字叫haha.jar
使用jar包的时候只要设置classpath指向haha.jar就行了
set classpath=..../haha.jar
这时候就可以使用jar里面的所有类了