169it科技资讯


当前位置:  编程技术>java/j2ee

java之Object类用法实例

    来源: 互联网  发布时间:2014-11-08

本文实例讲述了java中Object类用法。分享给大家供大家参考。具体如下:

1、Object类是所有java类的基类

如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类,ex:

public class Person{

    ~~~~~

}

等价于

public class Person extends Object{

    ~~~~~

}

2、Object类之equals方法

①、Object类中定义有:

  public boolean equals(Object obj)方法。

    提供定义对象是否相等的逻辑。

②、Objec的equals方法  定义为:x.equals(y)当x和y是同一个对象的应用时返回true,否则返回false.

③、J2SDK提供的一些类,如String,Date等,重写了Object的equals()方法,调用这些类的equals方法,x.equals(y),当x和y所引用的是同一类对象且属性内容相等时(并不一定是相等的对象),返回true否则返回false.

④、可以根据需要在用户的自定义类型中重写equals()方法。

实例代码如下:

public class TestEquals{
  public static void main (String args[]){
    Cat cat1 = new Cat(1,2,3);
    Cat cat2 = new Cat(1,2,3);
    System.out.println(cat1 == cat2);
    System.out.println(cat1.equals(cat2  ));
    
    String s1 = new String("hello");
    String s2 = new String("hello");
    System.out.println(s1 == s2);
    System.out.println(s1.equals(s2));
    
  }
}
class Cat{
  int color;
  int height,weight;
  
  Cat(int color , int height , int weight){
    this.color= color;
    this.height = height;
    this.weight = weight;
  }
  
  public boolean equals(Object obj){
    if(obj == null) return false;
    else{
      if( obj instanceof Cat){
        Cat c = (Cat)obj;
        if(c.color == this.color && c.height == this.height && c.weight == this.weight){
          return true;
        }
      }
    }
    return false;
  }
}

运行结果如下图所示:

希望本文所述对大家的Java程序设计有所帮助。


    
相关技术文章:
    ▪java继承中的构造方法实例解析

     本文实例讲述了java继承中的构造方法。分享给大家供大家参考。具体如下: 继承中的构造方法: 1、子类的构造过程中必须调用其基类的构造方法。 2、子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。     2.1、使用this(argument_list)调用本类的另外构造方法。     2.2、如果调用super,必须写在子类构造方法的第一行。 3、如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认调用基类的无参数构造方法。 4、如果子类构造方法中既没有显示调用基类构造方法,而基类又没有......


    ▪Java String字符串和Unicode字符相互转换代码

     java环境安装后jdk的bin目录有个native2ascii.exe可以实现类似的功能,但是通过java代码也可以实现同样的功能。 字符串转换unicode java方法代码片段: 代码如下: /**  * 字符串转换unicode  */ public static String string2Unicode(String string) {       StringBuffer unicode = new StringBuffer();       for (int i = 0; i < string.length(); i++) {           // 取出每一个字符         char c = string.charAt(i);           // 转换为unicode         unicode.append("\\......


    ▪Java注解之Retention、Documented、Inherited介绍

     Retention注解 Retention(保留)注解说明,这种类型的注解会被保留到那个阶段. 有三个值: 1.RetentionPolicy.SOURCE —— 这种类型的Annotations只在源代码级别保留,编译时就会被忽略 2.RetentionPolicy.CLASS —— 这种类型的Annotations编译时被保留,在class文件中存在,但JVM将会忽略 3.RetentionPolicy.RUNTIME —— 这种类型的Annotations将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用. 示例5演示了 RetentionPolicy.RUNTIME 的声明: Java注解的示例1: 代码如下: @Retention(Retentio......


 
最新技术文章:
    ▪Java中使用开源库JSoup解析HTML文件实例

     HTML是WEB的核心,互联网中你看到的所有页面都是HTML,不管它们是由JavaScript,JSP,PHP,ASP或者是别的什么WEB技术动态生成的。你的浏览器会去解析HTML并替你去渲染它们。不过如果你需要自己在Java程序中解析HTML文档并查找某些元素,标签,属性或者检查某个特定的元素是否存在的话,那又该如何呢?如果你已经使用Java编程多年了,我相信你肯定试过去解析XML,也使用过类似DOM或者SAX这样的解析器,不过很有可能你从未进行过任何的HTML解析的工作。更讽刺的是,在Java应用中,很少会有需要你去解析HTML文档的时候,这里并不包括Servlet或者其它的Java WEB技术。更糟糕......


    ▪Java函数式编程(一):你好,Lambda表达式

     第一章 你好,lambda表达式! 第一节 Java的编码风格正面临着翻天覆地的变化。 我们每天的工作将会变成更简单方便,更富表现力。Java这种新的编程方式早在数十年前就已经出现在别的编程语言里面了。这些新特性引入Java后,我们可以写出更简洁,优雅,表达性更强,错误更少的代码。我们可以用更少的代码来实现各种策略和设计模式。 在本书中我们将通过日常编程中的一些例子来探索函数式风格的编程。在使用这种全新的优雅的方式进行设计编码之前,我们先来看下它到底好在哪里。 改变了你的思......


    ▪Java函数式编程(二):集合的使用

     第二章:集合的使用 我们经常会用到各种集合,数字的,字符串的还有对象的。它们无处不在,哪怕操作集合的代码要能稍微优化一点,都能让代码清晰很多。在这章中,我们探索下如何使用lambda表达式来操作集合。我们用它来遍历集合,把集合转化成新的集合,从集合中删除元素,把集合进行合并。 遍历列表 遍历列表是最基本的一个集合操作,这么多年来,它的操作也发生了一些变化。我们使用一个遍历名字的小例子,从最古老的版本介绍到现在最优雅的版本。 用下面的代码我们很容易创建一个不可变的名字的......


 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号