A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2018-7-26 16:38 编辑

Object类、 常API

Object类

[Java] 纯文本查看 复制代码
java.lang.Object类: 根类, 所有类的父类

Object类是跟类,也是所有类的父类。

Object类的特点:
是所有类的父类, 任何一个类都直接或间接地继承自Object类, 并可以使用Object类中定义的方法
一个类如果没有指定继承某个父类, 则默认继承Object类

成员方法

[Java] 纯文本查看 复制代码
String toString():
返回该对象的字符串表示。

[Java] 纯文本查看 复制代码
boolean equals(Object obj) 
指示其他某个对象是否与此对象"相等"。
[Java] 纯文本查看 复制代码
// Object类中toString()的实现方式:作用:
任何类的对象都可调用toString(), 得到一个对象的字符串表示形式, 默认使用Object类中定义的方式
如果不想使用默认方式, 子类可以重写toString()方法, 转换为自己想要的内容
一般我们都要输出JavaBean的属性名和属性值, Alt + Insert 选择 toString() 即可重写
public class Object {
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
}

代码解释:

[AppleScript] 纯文本查看 复制代码
getClass().getName():
getClass(): Object类的方法, 获取当前对象的类的字节码对象
getClass().getName(): 通过字节码对象获取该类的全名
Integer.toHexString(hashCode())
hashCode(): Object类的方法, 获取当前对象地址值的哈希值
Integer.toHexString(int n): 将参数转换为十六进制数字的字符串
最终:
itheima01Object.Person@75412c2f



Object类之equals方法
[Java] 纯文本查看 复制代码
public boolean equals(Object obj)
指示其他某个对象是否与此对象"相等"
重写equals()的作用:
不重写时, 自定义对象默认继承Object类的equals()方法, 通过 == 比较地址值
但开发时, 一般要重写equals()方法, 让对象根据属性值来判断是否相等
[Java] 纯文本查看 复制代码
// Object类中equals()的实现方式:
public class Object {
public boolean equals(Object obj) {
return (this == obj); // 引用数据类型, ==比较对象的地址值是否相同
}
}

日期时间相关的类
先说下三者之间的关系转换如下:

[AppleScript] 纯文本查看 复制代码
long
        \                         SimpleDateFormat
        Date --------------------------------------------- String
         /
Calenda

注意: 不要导错包! 有2个包中都有Date类, 一个是java.sql.Date, 另一个是java.util.Date
我们用的是 java.util.Date

[AppleScript] 纯文本查看 复制代码
java.util.Date类: 日期, 表示特定的瞬间, 精确到"毫秒"
// 构造方法
Date(): 创建Date对象, 表示当前系统时间
Date(long date): 创建Date对象, 使用指定的毫秒值作为时间

// 常用成员方法
[AppleScript] 纯文本查看 复制代码
long getTime(): 获取Date对象中保存的时间毫秒值
void setTime(long time): 修改Date对象的时间
UNIX时间戳: 从0时区 1970-01-01 00:00:00 开始, 至今经过的毫秒值(1 秒 = 1000 毫秒)

java.text.DateFormat抽象类: 用于格式化和解析时间. 提供了方便的方法
// 常用成员方法 (抽象类不能创建对象, 但可以有非抽象的方法供子类使用)
[AppleScript] 纯文本查看 复制代码
String format(Date date): 格式化, 从Date对象转换为String对象
Date parse(String source): 解析, 从String对象转换为Date对象
java.text.SimpleDateFormat类

// 构造方法

[AppleScript] 纯文本查看 复制代码
SimpleDateFormat(String pattern): 用给定的模式和默认语言环境的日期格式符号创建对象

// 常用模式: 可在SimpleDateFormat类中查看

[AppleScript] 纯文本查看 复制代码
y: 年
M: 月
d: 日
H: 时 (24小时制)
m: 分
s: 秒
E: 星期
D: 年中的天
K: 小时(12小时制)
S: 毫秒
示例: "yyyy-MM-dd E HH:mm:ss.SSS"
结果: 2016-04-01 星期五 17:29:15.868
如果要匹配普通的英文字母, 则需要用单引号括起来: "'abc'"
如果要匹配单引号, 则使用2个单引号: "''"

// 使用指定的模式创建对象
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
[Java] 纯文本查看 复制代码
public class Test {
public static void main(String[] args) throws ParseException {
// 已知日期字符串"2000-10-01"
String s = "2000-10-01";
// 将该日期字符串解析为日期对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(s); // 红线按 Alt + Enter , 选择第一项 Add exception to method
signature
// 将date转换为long
long time = date.getTime();
System.out.println(time); // 970329600000
}
}

Calendar类的常用功能
java.util.Calendar抽象类: 代表日历, 提供了不同国家的历法, 封装了很多时间属性
// 静态成员变量

[AppleScript] 纯文本查看 复制代码
static int YEAR :年份
static int MONTH :月份. 注意月份数值是 0-11
static int DAY_OF_MONTH :日期
static int HOUR :小时(12小时制)
static int HOUR_OF_DAY :小时(24小时制)
static int MINITE :分钟
static int SECOND :秒

// 非静态成员方法

[AppleScript] 纯文本查看 复制代码
int get(int field): 获取指定日历字段的值 int year = cal.get(Calendar.YEAR)
void set(int field, int value): 修改指定日历字段为指定的值
void add(int field, int amount): 调整指定日历字段的值. 正数增加, 负数减少
Date getTime(): Calendar转Date
void setTime(Date d): Date转Calendar


[Java] 纯文本查看 复制代码
/ 示例
// 获取日期:
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 修改年:
calendar.set(Calendar.YEAR, 2000);
// 修改月:
calendar.set(Calendar.MONTH, 0);
// 日期增加一天:
calendar.add(Calendar.DAY_OF_MONTHY, 1);
// 日期减少一天:
calendar.add(Calendar.DAY_OF_MONTHY, -1);

long和Date对象互转

[AppleScript] 纯文本查看 复制代码
利用Date
Date(long millis): long转Date
long getTime(): Date转long
String和Date对象互转
利用SimpleDateFormat
Date parse(String s): String转Date
String format(Date): Date转String
Calendar对象和Date对象互转
利用Calendar
Date getTime(): Calendar转Date
void setTime(Date d): Date转Calendar


System类之数组复制方法
[AppleScript] 纯文本查看 复制代码
java.lang.System类: 系统相关功能

// 静态方法

[AppleScript] 纯文本查看 复制代码
static void arrayCopy(Object src, int srcPos, Object dest, int destPos, int length): 复制源数
组中指定长度个元素到一个新数组中
* Object src: 源数组 (被复制的数组)
* int srcPos: 源数组索引 (从源数组的哪个索引开始复制)
* Object dest: 目标数组 (要复制到哪个数组)
* int destPos: 目标数组索引 (指定目标数组接收元素的索引位置)
* int length: 长度 (要复制的元素个数)



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马