码迷,mamicode.com
首页 > 其他好文 > 详细

10.2 Object类

时间:2018-08-25 11:42:32      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:notify   equal   name   nbsp   ati   概述   end   对象   ===   

一、概述
  a、在java中,所有的类都直接或间接继承了java.lang.Object类。
  b、Object类是比较特殊的类,它是所有类的父类,是java类层总的最高层类。
  c、由于所有类都是Object子类,所以在定义类时,省略了extends Object关键字。
  d、在Object类中主要包括clone()、finalize()、equals()、toString()等方法,其中常用的两个方法是equals()和toString();
注意:Object类中的getClass()、notify()、notifyAll()、wait()等方法不能被重写,因为这些方法被定义为final类型。

1、getClass()方法:返回对象执行时的Class实例,然后使用此实例调用getName()方法可以取得类的名称
  getClass().getName(); (也可以将getClass()方法与toString()方法联合使用)

2、toString()方法:将一个对象返回为字符串形式,它会返回一个String实例。
  a、在实际应用中通常会重写toString()方法,为对象提供一个特定的输出模式。
  b、当这个类型自动转化为字符串或与字符串连接时,将自动调用重写的toString()方法。

例子10.3

技术分享图片
1 public class ObjectInstance {
2     public String toString() {        //重写toString()方法
3         return "在" + getClass().getName() + "类中重写toString()方法!";
4     }
5     public static void main(String[] args) {
6         System.out.println(new ObjectInstance());        //打印本类对象
7     }
8 }
View Code

技术分享图片

3、equals方法:比较两个对象的实际内容是否相等(而“==”是比较两个对象的引用地址是否相等)

例子10.4

技术分享图片
 1 package aaaa;
 2 class V{
 3     
 4 }
 5 
 6 public class OverWriteEquals {
 7     public static void main(String[] args) {
 8         String s1 = "123";        //实例化两个对象,内容相同
 9         String s2 = "123";
10         System.out.println(s1.equals(s2));        //使用equals()方法比较
11         System.out.println(s1==s2);
12         
13         System.out.println("======================");
14         
15         V v1 = new V();        //实例化两个V对象
16         V v2 = new V();
17         System.out.println(v1.equals(v2));        //使用equals()方法比较
18         System.out.println(v1==v2);
19     }
20 }
View Code

技术分享图片

 

10.2 Object类

标签:notify   equal   name   nbsp   ati   概述   end   对象   ===   

原文地址:https://www.cnblogs.com/studycode/p/9532901.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!