zoukankan      html  css  js  c++  java
  • 《Objiect》

    【16-1】Object概述&Object-equals方法&toString方法。
    ==========================================================================================
    class Person extends Object
    {
        private int age;
        Person(int age)
        {
            this.age = age;
        }
    
        public boolean equals(Object obj)
        {
            if(this == obj)
                return true;
    
            if(!(obj instanceof Person))
                throw new ClassCastException("类型是不对的,请改正!");
            Person p = (Person)obj;
            return this.age == p.age;
        }
    }
    
    class ObjectTest 
    {
        public static void main(String[] args) 
        {
            Person p = new Person(12);
            Person p1 = new Person(13);
            System.out.println(p.equals(p1));
        }
    }
    
    ===========================================================================================
    
    //Object概述&Object-equals方法&toString方法
    
    /*
    Object类中的常用方法。
    
    Object类是所有类的根类,定义了所有对象都具备的功能。
    API(应用程序接口)文档
    
    //可以在JDK目录下的srcjavalangobject里面查看源代码
    
    */
    
    class Person extends Object
    {
        private int age;
        Person(int age)
        {
            this.age = age;
        }
    
        //判断是否是同龄人,这个方法也是在比较两个Person对象是否相等。
        //注意:Person类中是否有比较两个Person对象相等的方法?有的,因为继承Object,他本身就具备equals方法
        //既然有,还需要定义compare方法吗?不需要!
        //但是,equals方法判断的是地址,不是我们所需要的内容。
        //咋办?继续使用object的equals方法,但是建立子类的自己额内容,这就是传说中的重写。
        //重写。
    
        //记住:以后要判断对象是否相同,就需要覆盖equals方法。
    
        //判断是否是同龄人
    
        public boolean equals(Object obj)
        {
            //建立Person自己的判断相同的依据,判断年龄是否相相同。
            //return this.age == p.age; //obj所属类型Object,Object中没有定义age,所以编译失败。
    
            //如果调用该方法的对象和传递进来的对象是同一个,就不要转型和判断,直接返回true.
            if(this == obj)
                return true;
            
            //age是Person类型的属性,既然要用到子类型的内容,需要向下转型。
            if(!(obj instanceof Person))
            //    return false;
            throw new ClassCastException("类型是不对的!请改正");
            Person p = (Person)obj;
            return this.age == p.age;
        }
    
        public String toString()
        {
            return "person[age = "+age+"]";
        }
        /*
        public boolean compare(Person p)
        {
            return this.age == p.age;
        }*/
    
    }
    
    class Dog
    {
    }
    
    
    class ObjectTest
    {
        public static void main(String[] args) 
        {
            Person p1 = new Person(12);
            Person p2 = new Person(14);
            //p1.equals(new Dog());
    
            //System.out.println(p1.equals(p1));
    
            System.out.println(p1.toString());
            System.out.println(p2);
    
            //System.out.println(p1.compare(p2));
    
            //System.out.println(p1==p2);
            //System.out.println(p1.equals(p2));
        }
    }
  • 相关阅读:
    User Get 'Access Denied' with Excel Service WebPart
    How To Search and Restore files from Site Collection Recycle Bin
    How To Collect ULS Log from SharePoint Farm
    How To Restart timer service on all servers in farm
    How to Operate SharePoint User Alerts with PowerShell
    How to get Timer Job History
    Synchronization Service Manager
    SharePoint 2007 Full Text Searching PowerShell and CS file content with SharePoint Search
    0x80040E14 Caused by Max Url Length bug
    SharePoint 2007 User Re-created in AD with new SID issue on MySite
  • 原文地址:https://www.cnblogs.com/sun-/p/5208792.html
Copyright © 2011-2022 走看看