Java学习日志

多态

定义:

一种事物的多种表现形式
前提:必须要有继承关系
最终形式:父类引用指向子类对象

多态的调用

	成员变量:编译运行看父类
	成员方法:编译看父类,运行看子类

注意:

多态必须要有方法的重写

转型

向上转型 : 子类 --> 父类 
向下转型 : 父类 --> 子类
            子类类型 变量 = (子类类型)父类引用;
	当多态调用不能调用子类独有内容时候,可以向下转型,然后调用子类独有内容
	instanceof 运算符
    引用 instanceof 类型 : 判断前面的引用是否指向后面类型的对象或者后面类型的子类对象,如果是返回true,不是返回fales

Object

java中所有类的父类
 如果一个类没有显示的继承父类,默认继承自Object类

为什么要在子类中重写toString方法 :

 因为输出对应的引用时候不想是打印对象的地址值,想要输出对象的所有属性值,对从Object中继承的toString需要,toString实现不满意,在子类中重写toString

注意 :

当定义javabean类型,规范都需要重写toString

equals

比较两个对象数据是否相等
Object类中的equals方法 : 默认比较对象的地址值
        public boolean equals(Object obj) {
            return (this == obj);
        }

为什么要子类中重写equals方法 :

使用Object类的equals方法,默认比较对象地址,业务需求想要比较根据对象的属性值比较是否相等,可以在子类中根据需要重写equals,实现比较对象所有属性而非地址值

abstract

抽象类 : 被abstract修饰的类

抽象方法 : 被abstract修饰的方法
没有方法体
必须存在与抽象类中

注意 :

    1.抽象类不能实例化
    2.抽象方法必须存在与抽象类中
    3.抽象类中可以定义可以不定义抽象方法,可以定义任意内容
    4.抽象类的使用 :
        1)具体子类对象调用成员
            重写所有的抽象方法 + 按需新增
        2)抽象子类
            按需重写 + 按需新增
    5.抽象方法必须被重写的,但是只需要重写一次,按需重写多次
    6.abstract不能与private,final,static,native一起使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值