• 面向对象(Object类)


    Object类
    object是java中所有对象直接或者间接的超类/父类
    该类中具备的肯定是所有对象都具备的功能(向上抽取)
    -----------------------------------
    object类构造函数中调用的super就是自己
    object类提供的方法,也就是说,你任意建一个类,肯定会有这些方法可以使用
    看这些方法里面,有一个equals()方法,接收Object类型的参数,那这不就是多态的体现吗
    Person p1 = new Person();
    Animal a1 = new Animal();
    p1.equals(a1);
     
    看参数,其实就是这样的
    Object o = new Animal();    -->向上转型,多态的体现
    _____________________________________________________________________________
    实例
    定义类中的比较方法
    看看里面的比较方法是怎么来的
    首先,equals方法是重写的Object类的equals
    并且,比较this.num == 参数.num -->会报错,因为父类Object方法中没有num这个变量
    所以,要向下转型 Demo d =(Demo)obj;
    此时,在比较时,如果传入的两个参数类型不同,就会抛出异常ClassCastException
    怎么解决呢,这就需要判断一下,如果传入的参数与这个类类型不同,直接返回false(类型都不一样,怎么可能相等)
    class Demo 
    {
        private int num;
        Demo(int num)
        {
            this.num = num;
        }
        public boolean equals(Object obj)//Object obj = new Demo();
        {
     
            if(!(obj instanceof Demo))
                return false;
            Demo d = (Demo)obj;
     
            return this.num == d.num;
        }
    }
    ——————————————————————————————
    实例
    看方法中还有一个toString()方法,也就是说,java所有类都可以转换成字符串
    Person p = new Person();
    p.toString();
    返回的是一个地址值(哈希值),因为这是引用类型
    Object方法里面还有一方法,返回哈希值hashCode
  • 相关阅读:
    使用HttpClient发送请求、接收响应
    jdbc操作
    数据库通用Jdbc操作
    将WSDL文件生成的Java文件
    数据结构_线性表_链表实现
    15年第六届蓝桥杯第七题_手链样式_(stl_string)
    16年第七届蓝桥杯第九题_密码脱落_(贪心)
    16年第七届蓝桥杯第七题_剪邮票
    16年第七届蓝桥杯第三题_方格填数
    Codeforces_789C_(dp)
  • 原文地址:https://www.cnblogs.com/aisi-liu/p/4227620.html
Copyright © 2020-2023  润新知