首页 > 其他 > 详细

Object类

时间:2019-04-01 17:19:55      阅读:94      评论:0      收藏:0      [点我收藏+]

Object类

Object类的概述:

java.lang.Object类是java语言中的根类,及所有的父类,在对象的实例化的时候,最终找到的父类是Object类.

如果一个类没有?名父类,那么默认的就是Object类.

 

1 public class MyClass extends Object{
2   //代码块
3 }

 

根据JDK源代码及Object类的API文档,Object类有11个方法.

- public String toString():返回该对象的字符串表示。
- public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”。

 

toString方法:

方法摘要:

 

toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。

由于toString方法返回的结果是内存地址,而在开发中,
经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。

 

覆盖重写:

代码演示:

 1 public class Person {  
 2     private String name;
 3     private int age;
 4 
 5     @Override
 6     public String toString() {
 7         return "Person{" + "name=‘" + name + ‘\‘‘ + ", age=" + age + ‘}‘;
 8     }
 9 
10     // 省略构造器与Getter Setter
11 }

equals方法:

方法摘要:

 

默认地址比较:
如果没有覆盖重写equals方法,那么Object类默认进行==运算符的对象地址值比较,
只要不是同一个对象,结果必然为false。 对象内容比较: 如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,
则可以覆盖重写equals方法。

 

 对象内容比较演示代码:

 1 import java.util.Objects;
 2 
 3 public class Person {    
 4     private String name;
 5     private int age;
 6     
 7     @Override
 8     public boolean equals(Object o) {
 9         // 如果对象地址一样,则认为相同
10         if (this == o)
11             return true;
12         // 如果参数为空,或者类型信息不一样,则认为不同
13         if (o == null || getClass() != o.getClass())
14             return false;
15         // 转换为当前类型
16         Person person = (Person) o;
17         // 要求基本类型相等,并且将引用类型交给java.util.Objects类的equals静态方法取用结果
18         return age == person.age && Objects.equals(name, person.name);
19     }
20 }

 

Objects类:

概述:

 

在JDK7添加了一个Objects工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,
这些方法是null-save(空指针安全的)或null-tolerant(容忍空指针的),
用于计算对象的hashcode、返回对象的字符串表示形式、比较两个对象。 在比较两个对象的时候,Object的equals方法容易抛出空指针异常,
而Objects类中的equals方法就优化了这个问题。方法如下: - public static boolean equals(Object a, Object b):判断两个对象是否相等

 

 代码演示:

1 public static boolean equals(Object a, Object b) {  
2     return (a == b) || (a != null && a.equals(b));  
3 }

 

Date类:

概述:java.util.Date类 表示特定的瞬间,精确到毫秒。

- public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
- public Date(long date):分配Date对象并初始化此对象,以表示自从标准基准时间
(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数。 tips: 由于我们处于东八区,所以我们的基准时间为1970年1月1日8时0分0秒。 简单来说:使用无参构造,可以自动设置当前系统时间的毫秒时刻;指定long类型的构造参数,可以自定义毫秒时刻。例如:

 代码演示:

 1 package com.heima.Date;
 2 
 3 import java.util.Date;
 4 
 5 //Date
 6 public class Dmo01 {
 7     public static void main(String[] args) {
 8         //创建日期的对象
 9         System.out.println(new Date());
10         //创建日期对象,把当前的毫秒值转换成对象。
11         System.out.println(new Date(0L));
12     }
13 }
14 /*
15 Mon Apr 01 16:46:03 CST 2019
16 Thu Jan 01 08:00:00 CST 1970
17  */

 

tips:在使用println方法时,会自动调用Date类中的toString方法。Date类对Object类中的toString方法进行了覆盖重写,所以结果为指定格式的字符串。

DateFormat类:

java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。

格式化:按照指定的格式,从Date对象转换为String对象

解析:按照指定的格式,从String对象转换为Date对象。

构造方法:

由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat。
这个类需要一个模式(格式)来指定格式化或解析的标准。构造方法为: - public SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造
SimpleDateFormat。 参数pattern是一个字符串,代表日期时间的自定义格式。

 格式规则:

技术分享图片

代码演示:

DateFormat类的常用方法有:

  • public String format(Date date):将Date对象格式化为字符串。

  • public Date parse(String source):将字符串解析为Date对象。

创建SimpleDateFormat对象的代码如:

 1 package com.heima.Date;
 2 //format方法
 3 import java.text.DateFormat;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Date;
 6 
 7 public class Demo02 {
 8     public static void main(String[] args) {
 9         //创建日期对象
10         Date date = new Date();
11         //在创建日期格式化对象,在获取格式化对象时间可以指定风格
12         DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//public String format(Date date):将Date对象格式化为字符串。
13 String str=simpleDateFormat.format(date); 14 System.out.println(str); 15 } 16 }

 

parse方法使用:

 

 1 public class Demo02 {
 2     public static void main(String[] args) throws ParseException {
 3         //在创建日期格式化对象,在获取格式化对象时间可以指定风格
 4         DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 5         //public Date parse(String source):将字符串解析为Date对象。
 6         String str="2019-04-01 16:56:52";
 7         Date date=simpleDateFormat.parse(str);//抛出异常
 8         System.out.println(date);//Mon Apr 01 16:56:52 CST 2019
 9     }
10 }

 

 

 

Calendar类:

System类:

StringBuilder类:

包装类:

Object类

原文:https://www.cnblogs.com/luliang1215/p/10637023.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!