1.Object
1.什么是API
-
全称:application programming interface
-
应用程序接口
-
函数与类的集合
-
类库,类的仓库,别人写好的类
2.介绍6个包
-
java.lang
-
语言包,最基础的包
-
导入lang包下直接的类
-
lang包的类是不需要导入的
-
如果要导入子包下的类则要
-
import java.lang.reflect.*;
-
-
-
java.util
-
集合框架,帮助包
-
-
java.io
-
文件操作的包
-
-
javax.swing\java.awt
-
Java的图形化界面
-
-
java.sal
-
用来连接数据库的包
-
-
java.net
-
用来对网络进行操作
-
3.复习引用数据类型和基本数据类型、基本数据类型的封装类、堆栈
-
OOP面向对象:
-
万事万物皆为对象
-
对象的组成:属性+方法(功能)
-
3.1 引用数据类型
3.2 基本数据类型的封装类
-
Java在八种基本数据类型的基础上又定义八种封装类
基本数据类型 封装类 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean
-
java中int和Integer区别
-
int是基本的数据类型,默认值可以为0;
-
Integer是int的封装类,默认值为null;
-
int和Integer都可以表示某一个数值;
-
int和Integer不能够互用,因为他们两种不同的数据类型;
-
3.3 堆栈
-
存储方式
-
值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中
-
值类型:基本数据类型,比如int、double、long等
-
应用类型:类、接口、String等
4.equals和==的区别(String类的声明方式)
-
==操作比较的是两个变量的值是否相等,对于引用型变量 表示的是两个变量在堆中存储的地址是否相同,即栈中的 内容是否相同!
-
==比较的是对象的地址
-
equals操作表示的两个变量是否是对同一个对象的引用,即 堆中的内容是否相同 !
-
equals比较的是对象存的内容
4.1怎么使用equals和==
-
API里的类大部分都重写了equals方法,没有重写的一般是自己写的类,如果是你自己定义的一个类,比较自定义类用equals和==是一样的,都是比较句柄地址,因为自定义的类是继承于object,而object中的equals就是用==来实现的
5.重写
-
toString()重写
public String toString(){ String str=""; .... return str; }
-
hashCode()重写
public int hashCode(){ Int n; ... return n; }
-
equals()重写
public boolean equals(Object obj){ return (this==obj) }
-
java语言对equals()的要求如下
-
对称性::如果x.equals(y)返回是“true”,那么y.equals(x)也应该返回是“true”
-
反射性:x.equals(x)必须返回是“true”。
-
类推性:如果x.equals(y)返回是“true”,而且y.equals(z)返回是“true”,那么z.equals(x)也应该返回是“true”
-
一致性:如果x.equals(y)返回是“true”,只要x和y内容一直不变,不管你重复x.equals(y)多少次,返回都是“true”。
-
任何情况下,x.equals(null),永远返回是“false”;x.equals(和x不同类型的对象)永远返回是“false”。
-
-
6.了解hashCode()
6.1 equals和hashCode()区别
-
equals()和hashCode()都来自java.lang.Object;可以重写:
-
hashCode()的值也是与内存地址相关的.所以仅当内存地址相等时,hashCode才相等
-
通常不需了解,但当你用到hashmap,hashset等集合类时要注意下hashcode。