##学习内容
第一节 Object类
1.1 概述
java.lang.object 类是java语言的根类,即所有类的父类,在对象实例化的时候,最终找到的是此父类
如果一个类没有指定继承一个父类,那么系统则默认隐藏继承object类
class Myclass extends Object{
//......
}
说明:Object类定义了如toString 、equals等多种方法,既然是所有类继承了Object类,那我们就能够重写这些方
1.2 toString
- public String toString():返回该对象的字符串表达方式.
- 重写toString方法
public class Person {
public String name;
public int age;
Person(String name,int age){
this.name = name;
this.age = age;
}
@Override
public String toString(){
return ("name:"+name+"age:"+age);
}
}
测试类
//System.out.println打印引用类型的话,调用的是引用类型的toString
public class ObjectDemo {
public static void main(String[] args) {
Person person = new Person("张三",10);
System.out.println(person);//输出 name:张三age:10
}
}
1.3 equals
- public boolean equals(Object obj): 其他对象是否与此对象相等.
- Obejct 类中默认是地址相同.如果对比值,需要重写此方法
public class Person {
public String name;
public int age;
@Override
public boolean equals(Object obj){
//如果地址相同,返回true
if (this == obj)
return true;
//如果传入的参数为null 或者比较的对象类型不一致返回false
if (obj == null || this.getClass() != obj.getClass())
return false;
Person person = (Person)obj;
//属性都相等,返回true
return person.age == this.age && person.name.equals(this.name);
}
}
第二节 日期时间类
2.1 Date类
- 概述
java.util.Date表示特定的瞬间,精确到毫秒 - 两个常用方法
new Date():返回当前时间毫秒.
public Long getTime: 把对象转换成时间毫秒值.
2.2 DateFormat
- java.text.DateFormat 这个类用来格式化日期,可以在Date对象和字符串之前转换.
- DateFormat是一个抽象类,子类 java.text.SimpleDateFormat继承它,通过构造方法返回一个格式化的日期对象.
- DateFormat中有两个方法:format(时间) 和parse(时间字符串).
- 格式:public SimpleDateFormat(String pattern) 返回pattern格式的日期对象.
- 代码举例
//日期转成字符串格式 Date date = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String df = dateFormat.format(date); System.out.println(df);
//字符串转成时间格式 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str = "2020-01-01 00:00:01"; Date parse = dateFormat.parse(str); System.out.println(parse);
2.3 Calendar 类
概念
java.util.Calendar是日历类,用来获取各个时间属性的.
常用方法
Calendar类中提供很多成员常量,代表给定的日历字段:
字段值 | 含义 |
---|---|
YEAR | 年 |
MONTH | 月(从0开始,可以+1使用) |
DAY_OF_MONTH | 月中的天(几号) |
HOUR | 时(12小时制) |
HOUR_OF_DAY | 时(24小时制) |
MINUTE | 分 |
SECOND | 秒 |
DAY_OF_WEEK | 周中的天(周几,周日为1,可以-1使用) |
-
get/set 方法:用来获取时间的属性
public static void main(String[] args) { //实例化Calendar对象 Calendar instance = Calendar.getInstance(); //获取年 int year = instance.get(Calendar.YEAR); //获取月,从0开始-11. int month = instance.get(Calendar.MONTH); //获取日 int day = instance.get(Calendar.DAY_OF_MONTH); //获取星期几,从星期日开始,1代表星期日 int week = instance.get(Calendar.DAY_OF_WEEK); //设置年 instance.set(Calendar.YEAR,2019); System.out.println("年:"+year+"月:"+month+"日:"+day+"星期:"+week); }
-
add方法
//增加两天 instance.add(Calendar.DAY_OF_MONTH,2); //减两天 instance.add(Calendar.DAY_OF_MONTH,-2);
-
getTime方法:得到Date类型对象
//实例化Calendar对象 Calendar instance = Calendar.getInstance(); Date date = instance.getTime();
第三节 StringBuilder类
- 概述
为了解决String拼接带来生成多个对象的问题,它是字符串的一个缓冲器,默认16字符空间,超过会自动扩容.
例子:
public static void main(String[] args) {
StringBuilder stringBuilder = new StringBuilder("ab");
stringBuilder.append("cd");
System.out.println(stringBuilder);
}
第四节 包装类
JAVA类型分为基本类型和引用类型,基本类型效率对快,但引用类型有更多的功能,所以我们引入包装类用来完善基本类型.
基本类型 | 对应的包装类(位于java.lang包中) |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
- 装箱:将基本类型转换成包装类型
- 拆箱:将包装类型转换成对应的基本类型
- 自动拆装箱:用来像基本类型一样定义的方式. 如Integer = 10;