zoukankan      html  css  js  c++  java
  • 10.Object类

    在JAVA中,所有的类都直接或间接继承了Java.lang.Object类Object是一个特殊的类,他是所有类的父类,是Java类层中的最高层类。当创建一个类时,他总是在继承,除非某个类已经指定要从其他类继承,否则他就是从java.lang.Object类继承而来,可见所有的类都源于java.lang.Object类,如String,Integer类都是继承Object类;除此之外,自定义的类也都继承于Object类。所有的类都是Object子类。
    在Object类中主要包括clone(),finalize(),equals(),toString()等方法,其中常用的两个方法为equals()和toString()方法。由于所有的类都是Object类的子类,所以任何类都可以重写Object类中的方法。
    在Object类中的getClass(),notify(),notifyAll(),wati()等方法不能被重写,因为这些方法被定义为final类型。
    1.getClass()
    返回对象执行时的class实例,然后使用此实例调用getName()方法可以取得类的名称。
    getClass().getname();
    2.toString()方法
    toString()方法的功能是将一个对象返回为字符串形式,他会返回一个String实例。在实际应用中通常重写toString()方法,为对象提供一个特定的输出模式。当这个类转换为字符串或与字符串连接时,将自动调用重写的toString()方法。
    public class demo{
    public String toString() {//重写toString()方法
    return "在"+getClass().getName();
    }
    public static void main(String[] args) {
    System.out.println(new demo());
    }
    }
    重写父类Object的toString()方法,定义一段字符串。单个用户打印类对象时,将自动调用toString()方法。
    3.equals()方法
    "=="比较的是两个对象引用是否相等
    equals()判断两个字符串对象是否相等
    blic class demo{
    public static void mian(String[] args){
    String s1=”123“;
    String s2="123";
    system.out.println(s1.equals(s2));//true
    system.out.println(s1.equals(s2));//false
    }
    }
    在自定义类中使用equals()方法默认实现是使用"=="运算符比较两个对象的引用地址,而不是比较对象的内容,所以要想真正做到比较两个对象的内容,需要自定义类中重写equals()方法。
    此处类比字符串上的equals,此处是系统定义的字符串类
    equals(String  otheString)
    String a=new String("hello");
    String b=new String("hello");
     boolean c=a.equals(b);
    System.out.println(c);//true
    V v1=new V();
    V v2=new V();
    system.out.println(V1.equals(2));//false 自定义类默认的是对比两个对象的引用地址
    4.使用Object类接收任意对象的引用
    package ceshi;
     
    class Person {
     
    }
    public class Test {
    public static void main(String[] args) {
          Object obj = new Person();//一个操作可能接收所有类的对象,那么Object作为参数最适合
    Person per = (Person) obj;
    }
    }
     
  • 相关阅读:
    codeforces 1C(几何题)
    poj 1015 Jury Compromise
    poj 1466 计算直线的交点数
    poj 1228 凸包第一题
    2012 MUTC 3 总结
    用优先队列优化Dij的一个代码
    有关排序时,上移,下移的处理思路
    有关缓存的思考
    python备份文件2 分类: python 20130315 15:16 233人阅读 评论(0) 收藏
    lambda表达式使用方法详解 分类: python 20130315 10:58 396人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/cainame/p/10092001.html
Copyright © 2011-2022 走看看