object:所有类的根类
常用的共性功能:
boolean equals(object obj)指示某对象与此对象地址是否相等
一般都过覆盖此方法,根据对象的特有内容,建立判断对象是否相等的依据
int hashCode 返回该对象的哈希值(内部地址—>整数)
两对象相同:哈希值相同,内容相同。
class getclass 返回此类的运行时类(此类的字节码对象)
String toString 返回该对象的字符串表示,建议覆盖此类方法
包的概述
1.包在文件系统中就是文件夹。
2.同一个文件夹下不能有重名的文件,因此用包来区分。
3.包的定义写在类文件的第一行:
package 包名1.包名2
4.包也是一种封装的形式。
5.编译含有包的.java文件
javac -d . 类名.java(-d和.之间有空格,.与类名之间也有)
-d:编译前根据包名自动地创建文件夹。
“.”:表示当前目录,即在当前目录下根据包名创建文件夹,然后再编译.java文件。
6.运行含有包的类文件.class
java 包名1.包名2.类名
包的权限?
1.在一个包中要访问另一个包的成员函数的话,被访问成员函数和其所在的类必须是public。
注:public修饰的类的类名必须和该类所在的文件名一致。
2.被protected修饰类,能被本包的类访问,不能被其他包的类访问,但被protected修饰的类的子类在其他包中,这些子类可以访问父类。
| public | protected | default | private |
同一类中 | OK | OK | OK | OK |
同一包不同类 | OK | OK | OK |
|
子类中(不论是否在同一包中) | OK | OK |
|
|
不同包中 | OK |
|
|
|
包的导入?
在包顶一下写:
1.导入特定包下的特定类
import 包名1.包名2.包名3.类名;
2.导入特定包下所有的类
import 包名1.包名2.包名3.*;
注:只导入 包名1.包名2.包名3中的所有类文件,若里面还有子包则不导入。
3.一般用到哪个类导入哪个类,不用通配符导入。
把项目打包成Jar文件?
使用JDK/bin/Jar工具。
输入“jar”查看帮助。
“jar -cf 文件名.jar 需要放入jar包的包名”
为什么要把项目打包成Jar文件?
Jar包实质上给项目又多加了一层目录,而且Jar无需解压可以直接调用里面的类。
第三方工具包都是Jar包的形式,我们拿到后只要把Jar包所在的路径配置到classpath中去之后,我们就可以直接调用Jar包中内容了。