API怎么学?
不要去死记,只要学过的类和方法会查会用即可
如何查看API文档
(1).可以先查包,然后去包里查列
(2)点击索引,输入框中输入类名 推荐的方式
如何使用API文档
(1)看包
如果是java.lang包下的类,直接使用不用导包
如果不是java.lang包下的类,使用之前就需要导包
(2)看类的描述
描述了类的作用,特点,注意事项甚至简单的使用方式
(3)看构造方法
创建对象需要用到构造方法
在文档中,有些类展示了构造方法,有些没有
(4)看成员方法
方法名:看到方法名要能知道这个方法是什么作用
看参数列表(形参):调用方法的时候必须根据形参来传递对应类型的实参
如果形参是基本数据类型,则传递的是对应类型的值
如果形参是引用数据类型(数组、类、接口),则传递的是数组、该类对象或者子类对象、该接口的实现类对象
返回值类型:如果返回值类型为void,则使用的时候只能单独调用
如果返回值类型不是void,则使用的时候可以使用三种方式(单独、输出、赋值)调用
Object类
在jav.lang包下,所有使用的时候不用导包
类Object是类层次结构的根类,没有个类都使用Objecct作为超类,所有对(包括数组)都实现这个类的方法
解释:Object类是所有类的直接或者间接父类,如果以个类没有直接继承其类,则一定默认继承了Object类
常见方法
toString方法
public String toString():将独享转为字符串
没个类都能继承Objec类中的方法,所以toString方法也会被继承Object类中的toString方法有指定的格式:
public String toString(){
return getClass().getName()+"@"+Integer.toHexString(hashCode())
};
//com.itheima.demo01.Object,Preson@75412c2f
Object类中的toString方法输出的格式的内容没有太大意义,所以我们平常一般都会重写toStirng方法,重写的原则
打印对象中的内容(类中的成员变量的值)
如何重写
快捷键生成
alt+insert 找到toString
直接打印一个对象的名字,其实默认调用的是对象的toString方法
这个和println方法有关,底层判断如何传递的对象不是null,则默认调用toString方法
equals方法
als方法
public boolean equals(Object obj):判断两个对象是否相等
Object类中的equals方法比较的是内存地址值:
public boolean equals(Object obj) {
return (this == obj);
}
// this代表调用equals方法的那个对象,obj是调用方法传递的实参对象
==的使用
比较基本数据类型,比较的是值是否相等
比较引用数据类型,比较的是地址值是否相等
equals只能比较引用数据类型,==既可以比较基本数据类型也可以比较引用数据类型
equals方法底层使用的是==号,如果只是要比较内存地址是否相等,就可以直接使用==.没有必要使用equals方法再去底层调用==.
所以equals方法一般也会被重写,改变比较的规则,不比较地址,而是比较内容
重写的原则是:比较对象的内容(类中成员变量的值)是否相等
如何所有的内容都相同,说明是相等,如果有一个不同,则说明不相等
如何重写
使用快捷键 alt+insert 找到equals&hashCode
日期相关的类
Date类
在java.util包下,使用的时候必须导包,注意补水使用java,sq1包下的Date类了,这个是它的子类
表示是特定的瞬间(时间精确到毫秒),毫秒值是相当于1970年1月1日0时0分0秒
Date类可以表示过去,现在和将来的任何一个特定瞬间,主要就看传递的毫秒值落到那个时候就是那个时候
构造方法
Date():空参构造,代表的是现在这个特定瞬间
Date(long date):有参构造,传递的毫秒值落到那个时候就是那个时候
成员方法
public long getTime():获取Date对象代表的瞬间的毫秒值(是一个相对值,相对于1970年1月1日 0时0分0秒)
public void setTime(long time):设置毫秒值,和有参构造方法都能达到给Date对象设置毫秒值的效果
如何获取当前系统时间的毫秒值?
(1)System.currentTimeMillis()
(2)new Dat().getTime()
DateFormat类
格式化和解析日期字符串
是一个抽象类,没法出啊年对象使用,使用其子类SimpleDateFormat
抽象类中可以有抽象方法,可以有非抽象方法,如果以个类去继承抽象类,就必须实现其中所有的抽象方法,否则该类也必须编程抽象类
SimoleDateFormat
构造方法
SimpleDatFormat(String pattern)
pattern指的就是模式
常见方法
格式化:日期对象(Date)->文本(String)
有了这个方法之后,日期对象想要以什么样的格式显示都是可以的,只要指定模式
y年
M月
d日
H时
m分
s秒
yyyy-MM-dd ->2018-08-08
yyy/MM/dd ->2018/08/08
public final String format(Date date)
解析:文本(String)->日期对象(Date)
"2018年08月10日"
注意:给定的文本(日期字符)必须匹配指定的模式,这样才能正确的解析,赴欧洲报解析异常:ParseException
public Date parse(String source)
步骤:
1.创建SimpleDateFormat对象,使用有一个参数的构造方法传递模式
2.调用format或者parse方法进行格式化或者解析
StringBuilder类
在java,lang包下,使用的时候不用导包
代表的是一个可变字符串,String是不可以变的字符串,它是常量
StringBuilder相当于是一个容器,里面可以添加(append)任意的数据,最终得到的都是字符串
append:添加方法
Stirng 和StringBuilder
String ->StringBuilder:通过构造方法
StringBuilder sb = new StringBuilder(“hello”);
StringBuilder -> String: toString方法
String str = sb.toString();